michaelni changed the topic of #ffmpeg-devel to: Welcome to the FFmpeg development channel | Questions about using FFmpeg or developing with libav* libs should be asked in #ffmpeg | This channel is publicly logged | FFmpeg 7.0 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
TheSashmo has quit [Ping timeout: 240 seconds]
lexano has quit [Ping timeout: 260 seconds]
thilo has quit [Ping timeout: 268 seconds]
thilo has joined #ffmpeg-devel
IndecisiveTurtle has quit [Ping timeout: 260 seconds]
<kurosu>
"av_assert0(size > 0);" <- Not sure when something is meant to be a true assert, or something that is actually to tell the compiler/linter that something cannot happen
<kurosu>
I don't think that code resolves to __assume or __builtin_unreachable ?
<kurosu>
(one of the av_asserts)
arch1t3cht has joined #ffmpeg-devel
lexano has joined #ffmpeg-devel
<mkver>
kurosu: We currently don't use __builtin_unreachable at all; an av_assert is either an actual check or nothing (depending upon ASSERT_LEVEL).
jamrial has joined #ffmpeg-devel
<mkver>
kurosu: I intend to add some wrapper around builtin_unreachable.
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
rvalue- has joined #ffmpeg-devel
<kurosu>
ok, __assume is the MSVC equivalent, in case that matters
rvalue has quit [Ping timeout: 264 seconds]
Krowl has joined #ffmpeg-devel
<Lynne>
dav1d has some nice macros I've copied
<Lynne>
funnily enough it seems assert() is a macro that you can undef
rvalue- is now known as rvalue
rvalue has quit [Remote host closed the connection]
rvalue has joined #ffmpeg-devel
<mkver>
Lynne: This is not funny; this is actually the way it is supposed to be.
Livio has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
<courmisch>
jamrial: is there a hold up on LPC33?
<jamrial>
courmisch: if you have a riscv version for it, i'll push my patches
<Gramner>
using __builtin_unreachable to indicate constraints to the compiler does improve code generation a fair amount in some cases
System_Error has joined #ffmpeg-devel
<mkver>
BBB: This also happens without frame-threading (which only adds a constant amount of delay). Most decoders just don't check AV_CODEC_FLAG_LOW_DELAY at all.
<BBB>
I agree on the point that some decoders could check the lowdelay flag
<BBB>
however, my point was that his statement that "there is no reason to ever delay [bla bla]" is untrue in the case of frame threading
<kurosu>
Didn't know dav1d used it
<kurosu>
but makes sense, somehow :D
<BBB>
mkver: in other words, your point is correct by so is mine :)
<BBB>
s/by/but/
<BBB>
sorry, early morning here
<mkver>
BBB: Actually, setting the low_delay flag disables frame threading.
<BBB>
cool, that actually makes sense I guess
<Gramner>
yeah, dav1d turns asserts into __builtin_unreachable/__assume in release builds. -fgotta-go-fast
<BBB>
mkver: so I guess what you're saying (and what michael henrik is looking for) is for broader implementation of the lowdelay flag across decoders?
<mkver>
BBB: Yes. But notice that it is not set in his code snippet.
<BBB>
I also noticed andrey turkin did not mention the lowdelay flag specifically in his comment
<mkver>
In the first version of my mail, I added that he should set the low delay flag, but then removed it from the mail given that it would not help with his case at all.
<BBB>
:) right
<BBB>
his use case is a bit special anyway
<mkver>
BBB: Andrey Turkin wrote "when the decoder is set up to ignore B frames" which could mean setting the low delay flag (or the skip_frame flag).
Livio has quit [Ping timeout: 255 seconds]
<BBB>
to me that sounded like the skip-frame flag. which is also not implemented in some decoders
<mkver>
And the skip_frame flag is allowed to be changed at any time, so it is unclear whether it can be used to skip reordering.
<BBB>
this is where "implementation-defined" becomes a curse word
Livio has joined #ffmpeg-devel
<elenril>
BBB: it's untrue in general
<elenril>
you can have reordering without b-frames, they are completely independent in h264 and newer
<BBB>
also true :)
Krowl has quit [Read error: Connection reset by peer]
<mkver>
elenril: Really? I thought H.264 P-frames can't be reordered.
<elenril>
I don't know about any such restriction
<elenril>
could be wrong though
<elenril>
I only recall PoC constraints for IDR frames
<elenril>
err POC
<JEEB>
&34
<JEEB>
whoops
<BBB>
mkver: I agree it's not practically useful, but I believe in theory you could have a frame ordering of I:0,P:2,P:1 where P:1 uses 0 and 2 for unidirectional prediction (I believe bidir is disabled on P frames)
<BBB>
it's sort of a legalistic argument since it's quite pointless
<elenril>
I'm sure somebody could come up with a reason to do it
<elenril>
I think there's also no requirement for b-slices to actually be bidirectional
<elenril>
so you could have bframes without reordering
Krowl has joined #ffmpeg-devel
c1480 has joined #ffmpeg-devel
<Lynne>
JEEB: ping
Livio has quit [Ping timeout: 240 seconds]
<courmisch>
0 days without getting trolled on the mailing list.
cone-589 has joined #ffmpeg-devel
<cone-589>
ffmpeg James Almer master:0380a03f1f9d: avcodec/flacdsp: split off lpc33 into a dsp function
<cone-589>
ffmpeg James Almer master:0920f506a782: checkasm/flacdsp: add a test for lpc33
<JEEB>
Lynne: pong.
<cone-589>
ffmpeg Rémi Denis-Courmont master:d03cdfa2b6d7: checkasm/riscv: test misaligned before V
<Lynne>
JEEB: top left/right surround, and double-checking?
canjar has quit [Remote host closed the connection]
canjar has joined #ffmpeg-devel
<JEEB>
Lynne: for top left/right surround we don't have those so new channels would be required.
Krowl has quit [Read error: Connection reset by peer]
<sdc>
hi jamrial -- just fyi I might have made a mistake reading the vvc spec re: dmvr sad calculation -- it seems like it might only apply to 8x16, 16x8 and 16x16 blocks
<JEEB>
I'll try to do some checks, but at the end of the day this will also be a thing where we need to start marking what the av channels actually mean. so that people don't need to go through the mess that I went through... probably will have to write some emails on the ML
<JEEB>
https://mediaarea.net/AudioChannelLayout is a godsend since it's someone actually trying to match 23091-3 (utilized in USAC) , ITU BS 2051 + IEC 62574 against WAVE
<JEEB>
and apple actually defining a funky mapping that got me really broken
<jamrial>
sdc: you need to bring this to your mentor
<BBB>
courmisch: how did you make that line red? that's pretty cool
<sdc>
yeah we were discussing, I just noticed your patches and didn't want you to do any unnecessary work
<JEEB>
BBB: IRC notice
<BBB>
ah
<BBB>
so was that just visible for me then?
<JEEB>
no, he noticed the channel methinks
<BBB>
ah
<BBB>
test
<BBB>
ah yes
<courmisch>
hmm, ==14491== Conditional jump or move depends on uninitialised value(s)
<courmisch>
==14491== at 0x143E23: checkasm_check_func (checkasm.c:932)
<courmisch>
==14491== by 0x18EEA5: check_mc (vp8dsp.c:286)
<mkver>
courmisch: Does it still happen with --expensive-definedness-checks=yes?
<courmisch>
mkver: yes, it does
<BBB>
checkasm calls asm, right?
<BBB>
in my experience, valgrind (or msan) don't play well with asm :(
<courmisch>
I'm pretty sure it's the function pointer that's messed up
<Lynne>
yo dawg, so I heard you like containers, so we put containers in your containers, so you can mux while you mux
<BBB>
ogg-in-wav
* BBB
runs
MisterMinister has joined #ffmpeg-devel
<courmisch>
yeah well, I think I found the problem
<courmisch>
checkasm does not call vp78_dsp_init
<courmisch>
so the MC function pointers are just garbage
<JEEB>
\o/
<courmisch>
it's barely believiable that it didn't crash before
<courmisch>
so I don't believe it.
<courmisch>
and assume that I messed something locally
<courmisch>
yep
<Lynne>
holy shit, enhanced rtmp uses amf (flash-era actionscript) to signal metadata
<JEEB>
ye, I think original RTMP also did that?
<JEEB>
since it has this whole command sending and receiving model
<BtbN>
yeah, eRTMP did not come up with that
<Lynne>
2004, anno domini, macrovision engineers researched a way to induce disgust over plain TCP/IP, and they made RTMP
<mkver>
Lynne: s/2004/MMIV/
canjar has quit [Quit: Leaving]
<Lynne>
for 2 millenia, scientists have been trying to uncover the true meaning of the rotas square, little did they know, it was encoded actionscript all along
<courmisch>
you know a codec must be extremely popular when it has no x86 optimisations
Krowl has quit [Read error: Connection reset by peer]
ngaullier has quit [Read error: Connection reset by peer]
<kurosu>
"I think there's also no requirement for b-slices to actually be bidirectional" <- or with at least 2 frames in the "DPB" :D
MrZeus has joined #ffmpeg-devel
<cone-589>
ffmpeg Andreas Rheinhardt master:aff24c165827: avcodec/flacdec: Remove unused variable
AbleBacon has joined #ffmpeg-devel
MrZeus has quit [Read error: Connection reset by peer]
MrZeus has joined #ffmpeg-devel
mkver has quit [Ping timeout: 268 seconds]
rvalue- has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 268 seconds]
rvalue- is now known as rvalue
microchip_ has quit [Remote host closed the connection]
microchip_ has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
kurosu has quit [Quit: Connection closed for inactivity]
mkver has joined #ffmpeg-devel
System_Error has quit [Ping timeout: 260 seconds]
IndecisiveTurtle has joined #ffmpeg-devel
___nick___ has joined #ffmpeg-devel
___nick___ has quit [Client Quit]
kurosu has joined #ffmpeg-devel
___nick___ has joined #ffmpeg-devel
cone-589 has quit [Quit: transmission timeout]
System_Error has joined #ffmpeg-devel
System_Error has quit [Client Quit]
System_Error has joined #ffmpeg-devel
cubicibo has joined #ffmpeg-devel
iive has joined #ffmpeg-devel
ccawley2011 has quit [Read error: Connection reset by peer]
cubicibo has quit [Quit: Client closed]
MisterMinister has quit [Ping timeout: 256 seconds]
kurosu has quit [Quit: Connection closed for inactivity]
___nick___ has quit [Ping timeout: 240 seconds]
cone-870 has joined #ffmpeg-devel
<cone-870>
ffmpeg Michael Niedermayer release/6.1:572985605f04: avfilter/signature_lookup: Fix 2 differences to the refernce SW
<cone-870>
ffmpeg Michael Niedermayer release/6.1:057b8d65e3c5: avfilter/signature_lookup: Dont copy uninitialized stuff around
<cone-870>
ffmpeg Michael Niedermayer release/6.1:3d742d20ab82: avcodec/cbs_h2645: Check NAL space
<cone-870>
ffmpeg Michael Niedermayer release/6.1:d92ef4f846fd: avfilter/vf_thumbnail_cuda: Set ret before checking it
<cone-870>
ffmpeg Michael Niedermayer release/6.1:66bcc6463e53: doc/examples/qsv_transcode: Simplify loop
<cone-870>
ffmpeg Michael Niedermayer release/6.1:f72b41c42100: doc/examples/vaapi_transcode: Simplify loop
<cone-870>
ffmpeg Michael Niedermayer release/6.1:9493a2d06619: doc/examples/qsv_transcode: Simplify str_to_dict() loop
<cone-870>
ffmpeg Michael Niedermayer release/6.1:69e12a3f431e: doc/examples/qsv_transcode: Initialize pointer before free
<cone-870>
ffmpeg Michael Niedermayer release/6.1:1f090edd02af: avcodec/hevcdec: Check ref frame
<cone-870>
ffmpeg Michael Niedermayer release/6.1:554787a53e95: avcodec/pngdec: Check last AVFrame before deref
<cone-870>
ffmpeg Michael Niedermayer release/6.1:b8d75b8ebc8f: avcodec/ac3_parser: Check init_get_bits8() for failure
<cone-870>
ffmpeg Michael Niedermayer release/6.1:e67741feea1f: avcodec/atrac9dec: Check init_get_bits8() for failure
<cone-870>
ffmpeg Michael Niedermayer release/6.1:115853a821b6: avformat/kvag: Check sample_rate
<cone-870>
ffmpeg Michael Niedermayer release/6.1:19e6b871b6c1: avformat/mxfdec: Check body_offset
<cone-870>
ffmpeg Michael Niedermayer release/6.1:e886fe5542cd: avcodec/avs2_parser: Assert init_get_bits8() success with const size 15
<cone-870>
ffmpeg Michael Niedermayer release/6.1:77d5f217f3cc: avcodec/avs3_parser: assert the return value of init_get_bits()
<cone-870>
ffmpeg Michael Niedermayer release/6.1:270ad2fd2f6a: avcodec/av1dec: bit_depth cannot be another values than 8,10,12
<cone-870>
ffmpeg Michael Niedermayer release/6.1:c42b520ba580: avcodec/av1dec: Change bit_depth to int
<cone-870>
ffmpeg Michael Niedermayer release/6.1:e434c789af78: swscale/output: Fix integer overflow in yuv2rgba64_1_c_template
<cone-870>
ffmpeg Michael Niedermayer release/6.1:6ed54900f73a: swscale/output: Fix integer overflow in yuv2rgba64_full_1_c_template()
<cone-870>
ffmpeg Michael Niedermayer release/6.1:5017839ca0be: avcodec/wavarc: fix integer overflow in decode_5elp() block type 2
<cone-870>
ffmpeg Michael Niedermayer release/6.1:e2afcd74ce77: avcodec/amrwbdec: assert mode to be valid in decode_fixed_vector()
<cone-870>
ffmpeg Michael Niedermayer release/6.1:1cb422a0ad42: avcodec/mpegvideo_enc: Fix 1 line and one column images
<cone-870>
ffmpeg Michael Niedermayer release/6.1:ff547f5fd498: avformat/concatdec: Check file
<cone-870>
ffmpeg Michael Niedermayer release/6.1:36713f42ab54: doc/examples/demux_decode: Simplify loop
<cone-870>
ffmpeg Michael Niedermayer release/6.1:b91b594dbd5d: tools/opt_common: Check for malloc failure
<cone-870>
ffmpeg Michael Niedermayer release/6.1:cc773eba6bc8: fftools/ffplay: Check return of swr_alloc_set_opts2()
<cone-870>
ffmpeg Michael Niedermayer release/6.1:bc08dfdf5d9f: avcodec/cbs_av1: Avoid shift overflow
<cone-870>
ffmpeg Michael Niedermayer release/6.1:f3931154bb43: libavutil/base64: Try not to write over the array end
<cone-870>
ffmpeg Michael Niedermayer release/6.1:21efa2af5329: avutil/tests/base64: Check with too short output array
<cone-870>
ffmpeg Michael Niedermayer release/6.1:2de1f26366c9: avcodec/lpc: copy levenson coeffs only when they have been computed
<cone-870>
ffmpeg Michael Niedermayer release/6.1:61f5019a51db: avcodec/h264_slice: Remove dead sps check
<cone-870>
ffmpeg Michael Niedermayer release/6.1:b586ff27683a: avcodec/h2645_sei: Remove dead checks
<cone-870>
ffmpeg Michael Niedermayer release/6.1:41550b0ebb01: avcodec/fmvc: remove dead assignment
<cone-870>
ffmpeg Michael Niedermayer release/6.1:3ee5567c5459: avcodec/decode: decode_simple_internal() only implements audio and video
<cone-870>
ffmpeg Michael Niedermayer release/6.1:c10b41608771: avcodec/exr: Fix preview overflow
<cone-870>
ffmpeg Michael Niedermayer release/6.1:28eb4663d6bd: avcodec/qsvdec: Check av_image_get_buffer_size() for failure
<cone-870>
ffmpeg Michael Niedermayer release/6.1:236001ce0b62: avcodec/jpeg2000dec: remove ST=3 case
<cone-870>
ffmpeg Michael Niedermayer release/6.1:6db10d3be05d: avcodec/vp8: Forward return of ff_vpx_init_range_decoder()
<cone-870>
ffmpeg Michael Niedermayer release/6.1:1b9de6ff2839: avcodec/vp3: Replace check by assert
<cone-870>
ffmpeg Michael Niedermayer release/6.1:cc78679c840e: avcodec/vble: Check av_image_get_buffer_size() for failure
<cone-870>
ffmpeg Michael Niedermayer release/6.1:d54198256e73: avcodec/vqcdec: Check init_get_bits8() for failure
<cone-870>
ffmpeg Michael Niedermayer release/6.1:94849755fb50: avcodec/mpeg12dec: Use 64bit in bit computation
<cone-870>
ffmpeg Michael Niedermayer release/6.1:8174b4206d6b: avcodec/mpeg4videodec: assert impossible wrap points
<cone-870>
ffmpeg Michael Niedermayer release/6.1:7cc79bfda97c: avcodec/mpegvideo_enc: Fix potential overflow in RD
<cone-870>
ffmpeg Michael Niedermayer release/6.1:4e53ea496cad: avcodec/mscc & mwsc: Check loop counts before use
MrZeus has quit [Read error: Connection reset by peer]
<cone-870>
ffmpeg James Almer release/7.0:17674b150f69: avformat/mov: store sample_sizes as unsigned ints