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.1.1 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
mateo` has quit [Ping timeout: 276 seconds]
OctopusET has quit [Ping timeout: 248 seconds]
OctopusET has joined #ffmpeg-devel
programmerjake has joined #ffmpeg-devel
iive has quit [Quit: They came for me...]
<programmerjake>
Hi, I'm thinking of working on the .mcc decoder and was wondering if you think I should add an option to convert between 30fps and 29.97fps inside the decoder, because for some reason other programs like to use the wrong fps when creating .mcc files, e.g. I have a 30fps .mcc that corresponds to a 29.97fps .mp4. to be clear the conversion would be
<programmerjake>
making the file duration change, not duplicating/dropping packets.
<programmerjake>
I did try using the setts bitstream filter but it's definitely not intuitive and tbh I'm still not sure I got it to work correctly, whereas changing that in the demuxer itself would be trivial
<programmerjake>
*relatively trivial
<Lynne>
no, output exactly what's in the file
<Lynne>
use setpts if you want to convert
<Lynne>
or a bitstream filter to change properties
mateo` has joined #ffmpeg-devel
<programmerjake>
ok, what about adding an option to make it output the full vanc data instead of the EIA-608 captions data? or just make it only output vanc data and add a bitstream filter to extract EIA-608 captions data? does ffmpeg allow auto-inserting bitstream filters on the demux side?
<programmerjake>
as mentioned on the mailing list, I think adding a new codec id for mxf vbi vanc smpte 436m could work for having a common vanc format in ffmpeg
<programmerjake>
also, does ffmpeg support chaining multiple bitstream filters? or would I need to have a merged change fps and decode vanc filter?
<programmerjake>
seems as though it does support chaining at least in the ffmpeg tools, though afaict it only supports one filter per stream with ff_stream_add_bitstream_filter
<Lynne>
yes, you can specify multiple filters as -bsf:v filt1,filt2 etc.
<programmerjake>
ff_stream_add_bitstream_filter has av_assert0(!sti->bsfc); so unless I'm missing something you can't add multiple filters per stream from a muxer
<Lynne>
why would you want to apply a setts from a muxer?
<programmerjake>
idk, maybe if there's also a video stream or something where you know what frame rate the output should be but the vanc stream has the wrong framerate because apparently the standard says you can ignore the difference between 30fps and 29.97fps for vanc (seems very shortsighted to me)
<programmerjake>
and you also need another filter for format conversion
<programmerjake>
(i'm also working on a .mcc encoder in case you were wondering)
<programmerjake>
in the .mcc encoder, so far I haven't figured out a reliable way to get the actual frame rate of the input, seems like everything other than time_base isn't actually set before calling write_header
<programmerjake>
so for now I just added an option to select your own frame rate
<Lynne>
if you're a muxer you can literally just alter the timestamps directly
<programmerjake>
guess that's true...
<programmerjake>
I do also want to get .mcc input to mux into a .mxf file...
<programmerjake>
would adding the new codec id for mxf vbi vanc smpte 436m and then changing the mxf decoder/encoder to use that new codec id instead of AV_CODEC_ID_NONE be considered a breaking change that needs a major version bump?
cone-626 has quit [Quit: transmission timeout]
<Lynne>
not according to me
<programmerjake>
k, thx!
Chagall has quit [Ping timeout: 245 seconds]
System_Error has quit [Remote host closed the connection]
jamrial has quit []
System_Error has joined #ffmpeg-devel
programmerjake has left #ffmpeg-devel [#ffmpeg-devel]
<Lynne>
or maybe all of them, there are only a few frames there and it would help to average out
<Lynne>
same input, prores raw vs prores raw hq, if we know the difference between quantized coeffs for each and dequantized coeffs, then it should be possible to figure out the dequant method
zsoltiv__ has quit [Ping timeout: 252 seconds]
zsoltiv has quit [Ping timeout: 276 seconds]
bwu25 has joined #ffmpeg-devel
Compn has quit [Quit: Leaving]
Compn has joined #ffmpeg-devel
j45 has quit [Ping timeout: 260 seconds]
j45 has joined #ffmpeg-devel
j45 has quit [Changing host]
j45 has joined #ffmpeg-devel
TheVibeCoder has joined #ffmpeg-devel
bwu25 has quit [Ping timeout: 260 seconds]
bwu25 has joined #ffmpeg-devel
TheVibeCoder has quit [Changing host]
TheVibeCoder has joined #ffmpeg-devel
MisterMinister has quit [Ping timeout: 248 seconds]
<fflogger>
[newticket] rabcor: Ticket #11665 ([undetermined] Input pattern recognition broken when using avif format) created https://trac.ffmpeg.org/ticket/11665
mkver has quit [Remote host closed the connection]
mkver has joined #ffmpeg-devel
mkver has quit [Remote host closed the connection]
mkver has joined #ffmpeg-devel
<kasper93>
Traneptora: do you have some time to take a look at jxl sample? It seemms to hang on decoding. https://0x0.st/8DSy.bin
<kasper93>
with libjxl it errors without a delay
<kasper93>
JXL_FAILURE: F16 infinity or NaN are not supported
<kasper93>
with native it takes loong
realies9 has quit [Ping timeout: 272 seconds]
mkver has quit [Ping timeout: 268 seconds]
beastd has quit [Ping timeout: 245 seconds]
beastd has joined #ffmpeg-devel
Chagall has joined #ffmpeg-devel
jamrial has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
<fflogger>
[newticket] rabcor: Ticket #11667 ([undetermined] .avif conversion to other container only encodes the first frame.) created https://trac.ffmpeg.org/ticket/11667
<ePirat>
the former was the one that looked kinda dark-ish
<Lynne>
if its not too difficult, just do both, I'll have to do a forward transform
<TheVibeCoder>
Lynne: you wrote encoder?
<Lynne>
no, but if you do a forward transform, you'll get the dequant coeffs
<TheVibeCoder>
yes
<Lynne>
then you can compare them with the quant coeffs you have, and the qscale, and figure out what changed
<Lynne>
having both hq and non-hq (different quant) gives you some knowledge about the qscale and the dequant process
<Lynne>
the 16-bit int bayer version may be too dark with precision gone so if you transform it, you wouldn't get enough bits to work with
<Lynne>
the float version won't have such problems
iive has joined #ffmpeg-devel
<fflogger>
[newticket] RavenWorks: Ticket #11668 ([undetermined] Audio being much longer than video will make -shortest clamp to 1 second) created https://trac.ffmpeg.org/ticket/11668
<fflogger>
[editedticket] RavenWorks: Ticket #11668 ([undetermined] Audio being much longer than video will make -shortest clamp to 1 second) updated https://trac.ffmpeg.org/ticket/11668#comment:1
<fflogger>
[editedticket] RavenWorks: Ticket #11668 ([undetermined] Audio being much longer than video will make -shortest clamp to 1 second) updated https://trac.ffmpeg.org/ticket/11668#comment:2
bsFFFFFF has quit [Quit: bsFFFFFF]
bsFFFFFF has joined #ffmpeg-devel
bsFFFFFF has quit [Ping timeout: 276 seconds]
bsFFFFFF has joined #ffmpeg-devel
E81l7HT8T7sF9JdA has joined #ffmpeg-devel
Nw6mLRq1TuIuHsNd has joined #ffmpeg-devel
E81l7HT8T7sF9JdA has quit [Ping timeout: 252 seconds]
Nw6mLRq1TuIuHsNd has quit [Ping timeout: 245 seconds]
E81l7HT8T7sF9JdA has joined #ffmpeg-devel
Nw6mLRq1TuIuHsNd has joined #ffmpeg-devel
E81l7HT8T7sF9JdA has quit [Ping timeout: 252 seconds]
Nw6mLRq1TuIuHsNd has quit [Ping timeout: 245 seconds]
bsFFFFFF has quit [Quit: bsFFFFFF]
mkver has quit [Ping timeout: 265 seconds]
<BtbN>
The OpenSSL DTLS code is _completely_ busted, and I cannot even tell why oO
<BtbN>
It fails with an obscure error, saying "Handshake failed to do SYSCALL error", while it never tried to read/write anything even once
<BtbN>
Well, I mean specifically our tls_openssl.c though
<BtbN>
Why does it explicitly set a cipher?
<ePirat>
yeah I know, just saying their APIs are very easy to hold wrong :D
<BtbN>
Why does it use DTLS_method() and then later sets the server or client state, vs. just using DTLS_client_method and _server_method, like the normal TLS code does?
<ePirat>
I dont really know how DTLS works so I didnt look at the code for that much yet
<ePirat>
but some of the things done in our tls_openssl for it seemed somewhat weird even without knowing details
<BtbN>
The code is written like it's part of whip.c
<ePirat>
BtbN, is there an easy way to test the implementation?