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 8.0 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
lexano has joined #ffmpeg-devel
lexano has quit [Remote host closed the connection]
<fjlogger> [FFmpeg/FFmpeg] New comment on issue #20474 FFmpeg Version 8 Encryption/Decryption Incompatible with version 7 using cenc-aes-ctr encryption scheme (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20474#issuecomment-6618) by j⁠amrial
<fjlogger> [FFmpeg/FFmpeg] Issue #20474 closed: FFmpeg Version 8 Encryption/Decryption Incompatible with version 7 using cenc-aes-ctr encryption scheme (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20474) by j⁠amrial
rvalue- has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 256 seconds]
rvalue- is now known as rvalue
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20150 avcodec, avutil: Mark C globals with small code model (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20150#issuecomment-6620) by p⁠ranavk
_whitelogger has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on issue #20474 FFmpeg Version 8 Encryption/Decryption Incompatible with version 7 using cenc-aes-ctr encryption scheme (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20474#issuecomment-6623) by d⁠eif
<fjlogger> [FFmpeg/FFmpeg] Pull request #20497 opened: avcodec/mjpegdec: Avoid mixing return value and error code, avoid branch (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20497) by m⁠kver
<fjlogger> [FFmpeg/FFmpeg] Pull request #20498 opened: avcodec/Makefile: Add adpcm_vima->adpcm.o dependency (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20498) by m⁠kver
_whitelogger has joined #ffmpeg-devel
jamrial has quit []
Thulinma has quit [Read error: Connection reset by peer]
Thul has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20499 avformat/flvenc: event_flags is a variable of AVStream (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20499#issuecomment-6636) by j⁠iangjie
<fjlogger> [FFmpeg/FFmpeg] Pull request #20499 closed: avformat/flvenc: Use event_flags in AVStream instead of AVFormatContext (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20499) by j⁠iangjie
<fjlogger> [FFmpeg/FFmpeg] Pull request #20499 reopened: avformat/flvenc: Use event_flags in AVStream instead of AVFormatContext (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20499) by j⁠iangjie
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20499 avformat/flvenc: Use event_flags in AVStream instead of AVFormatContext (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20499#issuecomment-6641) by q⁠uink
Martchus_ has joined #ffmpeg-devel
Martchus has quit [Ping timeout: 256 seconds]
Anthony_ZO has joined #ffmpeg-devel
mkver has quit [Ping timeout: 244 seconds]
mkver has joined #ffmpeg-devel
mkver has quit [Ping timeout: 260 seconds]
<fflogger> [editedticket] slenk: Ticket #9846 ([avcodec] DNxHR doesn't work with LB in Shutter Encoder) updated https://trac.ffmpeg.org/ticket/9846#comment:9
secondcreek has quit [Remote host closed the connection]
GewoonLeon has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] Pull request #20500 opened: fftools/cmdutils: Rename file_read to ff_file_read to avoid symbol conflict (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20500) by c⁠aifan
<fjlogger> [FFmpeg/FFmpeg] Pull request #20435 closed: Fix function file_open,file_read,file_write,file_close,file_seek conflict with Nuttx (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20435) by c⁠aifan
microchip_ has quit [Remote host closed the connection]
microchip_ has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on issue #20454 Default NVCC flags are unsupported with CUDA 13 (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20454#issuecomment-6647) by p⁠yrates
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20499 use AVFMT_EVENT_FLAG_METADATA_UPDATED because of event_flags belongs to AVFormatContext. (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20499#issuecomment-6651) by j⁠iangjie
nevcairiel has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
nevcairiel has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on issue #20191 cuda sdk 13.0.0 has removed nppiYCbCr420_8u_P2P3R nppiResizeSqrPixel_8u_C1R nppiYCbCr420_8u_P3P2R (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20191#issuecomment-6652) by p⁠yrates
nevcairiel has quit [Client Quit]
nevcairiel has joined #ffmpeg-devel
GewoonLeon has quit [Ping timeout: 248 seconds]
GewoonLeon has joined #ffmpeg-devel
ngaullier has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20443 libavformat/rtsp.c:fix warning:‘%s’ directive output may be truncated (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20443#issuecomment-6656) by c⁠aifan
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20499 use AVFMT_EVENT_FLAG_METADATA_UPDATED because of event_flags belongs to AVFormatContext. (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20499#issuecomment-6657) by q⁠uink
<fjlogger> [FFmpeg/FFmpeg] Pull request #20501 opened: swresample/swresample: Delete unused code (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20501) by R⁠enjianguang-mi
kimapr__ has joined #ffmpeg-devel
Kimapr_ has quit [Read error: Connection reset by peer]
GewoonLeon1 has joined #ffmpeg-devel
GewoonLeon has quit [Read error: Connection reset by peer]
GewoonLeon1 is now known as GewoonLeon
GewoonLeon1 has joined #ffmpeg-devel
GewoonLeon has quit [Ping timeout: 244 seconds]
GewoonLeon1 is now known as GewoonLeon
GewoonLeon has quit [Read error: Connection reset by peer]
GewoonLeon has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20485 aarch64: Add a reindentation script, check it in forgejo workflows (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20485#issuecomment-6666) by m⁠storsjo
GewoonLeon1 has joined #ffmpeg-devel
GewoonLeon has quit [Read error: Connection reset by peer]
GewoonLeon1 is now known as GewoonLeon
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20485 aarch64: Add a reindentation script, check it in forgejo workflows (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20485#issuecomment-6667) by q⁠uink
nto has quit [Ping timeout: 255 seconds]
nto has joined #ffmpeg-devel
j45_ has joined #ffmpeg-devel
j45 has quit [Ping timeout: 256 seconds]
j45_ is now known as j45
j45 has quit [Changing host]
j45 has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] Pull request #20502 opened: swresample: Delete matrix_flt to optimize memory (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20502) by R⁠enjianguang-mi
j45_ has joined #ffmpeg-devel
j45 has quit [Ping timeout: 260 seconds]
j45_ is now known as j45
j45 has quit [Changing host]
j45 has joined #ffmpeg-devel
GewoonLeon has quit [Quit: GewoonLeon]
GewoonLeon1 has joined #ffmpeg-devel
GewoonLeon has joined #ffmpeg-devel
GewoonLeon1 has quit [Ping timeout: 260 seconds]
GewoonLeon has quit [Ping timeout: 260 seconds]
<fjlogger> [FFmpeg/FFmpeg] Pull request #20503 opened: avfilter/vf_colordetect: only report detected properties on EOF (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20503) by h⁠aasn
<fjlogger> [FFmpeg/FFmpeg] New comment on issue #20191 cuda sdk 13.0.0 has removed nppiYCbCr420_8u_P2P3R nppiResizeSqrPixel_8u_C1R nppiYCbCr420_8u_P3P2R (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20191#issuecomment-6678) by p⁠yrates
leo60228 has joined #ffmpeg-devel
vriska has quit [Ping timeout: 256 seconds]
minimal has joined #ffmpeg-devel
microchip_ has quit [Ping timeout: 244 seconds]
rvalue- has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 265 seconds]
rvalue- is now known as rvalue
jamrial has joined #ffmpeg-devel
microchip_ has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20502 swresample: Delete matrix_flt to optimize memory (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20502#issuecomment-6679) by j⁠amrial
<BtbN> Xe: just noticed an issue with Anubis. If you go to a link like https://code.ffmpeg.org/FFmpeg/FFmpeg/src/commit/799c133273a8c8455b21bbd9e2ab9e716f5e9bb1/libavutil/tests/aes_ctr.c#L102 and Anubis does its check, it eats the anchor after verification
<fjlogger> [FFmpeg/FFmpeg] New comment on issue #20191 cuda sdk 13.0.0 has removed nppiYCbCr420_8u_P2P3R nppiResizeSqrPixel_8u_C1R nppiYCbCr420_8u_P3P2R (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20191#issuecomment-6681) by B⁠tbN
<BtbN> Hm, the situation with that is really annoying. Apparently our clang built nvptx does not work anymore on modern drivers, cause the minimum version we compile it for is too old
<BtbN> so we have to bump it to 75 apparently, and leave users of not even that old GPUs behind. Or leave users of the latest GPUs out.
<BtbN> Highly annoying
<JEEB> right, so the cuda libs in latest drivers just dropped a bunch of things
<BtbN> I'm not even talking about the libs
<BtbN> purely our PTX code
<JEEB> yea, I mean we build the more compatible stuff and then we have the libs compile it into the device-specific stuff?
<JEEB> if I recall correctly what the PTX byte code was
<BtbN> We compile to PTX code, which the driver can consume directly
<BtbN> https://code.ffmpeg.org/FFmpeg/FFmpeg/src/branch/master/configure#L4800 but seemingly compute and sm 30 is now so old, that the latest driver does not take it anymore
<BtbN> It would need to be bumped to... something more recent
<BtbN> but no idea based on what
<JEEB> yea, I meant that with "libs in latest drivers"
<JEEB> one would hope the CUDA SDK 13 change log or the driver change log would document these things
<JEEB> I know that 10 series is going to be dropped by the drivers with the next branch
<BtbN> Raising it to 75 would leave anything pre-touring out
<JEEB> yea that would match their driver support
<JEEB> since that is 20 series and the weird 1650s etc
<BtbN> I'm not aware of any documentation on which minimum SM version the latest driver needs.
ngaullier has quit [Quit: Leaving]
<JEEB> hmm, the driver version still seems same for the latest WHQL studio or game ready
<JEEB> 581.29 for both 10 and 20 series
ngaullier has joined #ffmpeg-devel
<BtbN> apparently the lowest minimum is 5.0
<BtbN> That's also only the SDK
<BtbN> The CUDA SDK has dropped support for 3.0 ages ago
<BtbN> but clang happily compiles it still, so it's only between that and the driver
<JEEB> yeh
<BtbN> I think we can only bump it to 5.0 in configure, and backport that to 8.0
<BtbN> since we have no good way to at configure time detect what the CUDA code will run on
<BtbN> The alternative would be to compile every kernel twice
Anthony_ZO has quit [Ping timeout: 256 seconds]
<Xe> BtbN: i'm aware of that, working on a solution
<Xe> HTML anchors suck lol
minimal has quit [Quit: Leaving]
GewoonLeon has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20501 swresample/swresample: Delete unused code (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20501#issuecomment-6682) by q⁠uink
witchymary has quit [Ping timeout: 245 seconds]
<fjlogger> [FFmpeg/FFmpeg] New comment on issue #20191 cuda sdk 13.0.0 has removed nppiYCbCr420_8u_P2P3R nppiResizeSqrPixel_8u_C1R nppiYCbCr420_8u_P3P2R (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20191#issuecomment-6685) by p⁠yrates
mkver has joined #ffmpeg-devel
<kasper93> BtbN: thanks for looking into forgejo issue. I think github solves this issue by not even creating reference to commits, but completely another "review" snapshot of comments and related code.
<BtbN> That's what forgejo does as well, but it pulls that snapshot at time of posting, even though the post sends along what commit id it's being posted on. All since a weird patch to gitea 4 years ago
<BtbN> So if you spend too long reviewing, it breaks
<BtbN> I don't think this will make it perfect, there's other issues in that area for sure. But this is certainly the most glaring one.
<fjlogger> [FFmpeg/FFmpeg] Pull request #20504 opened: WIP: Add custom tagging for alpha mode to the MXF format (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20504) by h⁠aasn
<JEEB> fun, haasn poking at MXF
GewoonLeon has quit [Ping timeout: 260 seconds]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20498 avcodec/Makefile: Add adpcm_vima->adpcm.o dependency (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20498#issuecomment-6690) by m⁠kver
<fjlogger> [FFmpeg/FFmpeg] Pull request #20498 closed: avcodec/Makefile: Add adpcm_vima->adpcm.o dependency (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20498) by m⁠kver
ccawley2011 has joined #ffmpeg-devel
CoreX- is now known as CoreX
ccawley2011 has quit [Ping timeout: 250 seconds]
<Xe> BtbN: I think I'm going to take an alternate approach for getting redirects and/or fragments
<Xe> the fact that fragments aren't sent to the server is annoying
GewoonLeon has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] Pull request #20505 opened: swresample/swresample_internal: Use union for float, int matrix (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20505) by m⁠kver
<frankplow> Got a tricky fuzz sample with an issue related to the architectural decision to use CBS for all parsing in the VVC decoder.
<jamrial> mkver: did that other PR prompt you to do this one? :p
<mkver> jamrial: It gave me the kick in the arse I needed to write it.
<jamrial> figured as much. happened to me before
<frankplow> VVC requires all parameter sets within an AU (*consecutive* set of NALUs corresponding with a single coded picture, neglecting multilayer) with a particular ID to have the same content.
<mkver> I hope Renjianguang-mi isn't pissed of by this.
<frankplow> At the moment, this is checked at decode-time, i.e. once all NALUs corresponding to a particular coded picture have been received. This works fine for detecting problems with the parameter sets between multiple AUs, but not within a single NALU.
<frankplow> But if a single AU contains multiple conflicting parameter sets then it can't notice it, e.g. if you have 1. SPS(id=0, content=0) 2. Slice 3. SPS(id=0, content=1) 4. Slice, then the second SPS overwrites the first without the problem being detected.
<BtbN> Could someone give the Graphics.Capture PR a final review and Approval? I'm not aware of anything else that needs changing. I'm half-expecting the configure C++ changes to break something, somewhere. But that's hard to predict and needs to be fixed then.
<frankplow> The only solution I can see is to move the parameter set management into the CBS, but this seems like a poor separation of concerns as none of this is strictly needed to parse the data and it's a moderate amount of code.
<jamrial> frankplow: is there a reliable way for cbs where an AU ends?
<frankplow> jamrial: I believe you can't always know if a particular NALU is the final NALU of an AU (or the first NALU of an AU) until some later NALU is received
<mkver> frankplow: Would it be possible to add a RefStruct references to the parameter sets in force for a given slice to H266RawSliceHeader?
<frankplow> mkver: I suppose so. How would this handle the example I sketched above: the two slices refer to different SPSs?
<mkver> frankplow: You could use the proper SPS to decode each one of the slices.
<mkver> BtbN: Would it be possible (or too onerous) to run FATE with ASAN as part of the CI checks?
<jamrial> mkver: i think the point is that the second sps must be equal to the first if it's in the same AU
<mkver> Then why does the parser not start a new AU if the currently used SPS gets overwritten?
<frankplow> mkver: The parser doesn't control the parameter set management etc., that's all handled in the decoder: that's part of the issue.
philipl has quit [Ping timeout: 260 seconds]
<mkver> But the parser should know that parameter sets can't just be put at random positions and act accordingly.
<frankplow> Maybe the parameter set management does simply have to be handled there rather than in the decoder though, even if it is a poor separation of concerns? There already sort of is a primitive one in CodedBitstreamH266Context, maybe it needs to become as fully-fledged as the one in VVCParamSets
HarshK23 has joined #ffmpeg-devel
<mkver> "rather than" sounds as if you wanted to remove the one in the decoder; given that parser and decoder are separated, this won't be happen.
<frankplow> You can run the parser without the decoder but not the decoder without the parser. If the validation and management is handled in the parser, could it not then be removed or simplified in the decoder?
<jamrial> frankplow: you can build, you mean. nothing forces an API user to use the parser if they only want to use the decoder
<mkver> Incorrect; one can run the decoder without the parser.
<jamrial> also, if you set the complete frames flags, no packetization happens
<mkver> This makes sense when you know that you already have good packets.
<frankplow> Huh, I didn't realise that was possible.
GewoonLeon has quit [Ping timeout: 260 seconds]
GewoonLeon has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20502 swresample: Delete matrix_flt to optimize memory (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20502#issuecomment-6699) by q⁠uink
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20485 aarch64: Add a reindentation script, check it in forgejo workflows (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20485#issuecomment-6702) by B⁠tbN
<BtbN> mkver: wouldn't that take ages?
<BtbN> CI can run it, but I feel like the ultra expensive checks would easily clog up the pipeline
wyatt8740 has quit [Ping timeout: 258 seconds]
<fjlogger> [FFmpeg/FFmpeg] Pull request #20506 opened: avcodec/bsf/noise: Avoid allocation for string (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20506) by m⁠kver
wyatt8740 has joined #ffmpeg-devel
ccawley2011 has joined #ffmpeg-devel
ccawley2011 has quit [Ping timeout: 256 seconds]
Yalda has quit [Remote host closed the connection]
ccawley2011 has joined #ffmpeg-devel
<mkver> BtbN: Slowdown of ASAN is 116% here. I don't know whether this counts as ultra-expensive.
<fjlogger> [FFmpeg/FFmpeg] Pull request #20507 opened: swscale/x86/ops: Fix leak (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20507) by m⁠kver
<BtbN> mkver: it'd still mean more than double the time to clear a commit
<BtbN> it could be a master-only thing, not on PRs
minimal has joined #ffmpeg-devel
<haasn> master-only seems like a reasonable compromise to me
<fjlogger> [FFmpeg/FFmpeg] New comment on issue #20191 cuda sdk 13.0.0 has removed nppiYCbCr420_8u_P2P3R nppiResizeSqrPixel_8u_C1R nppiYCbCr420_8u_P3P2R (https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20191#issuecomment-6713) by B⁠tbN
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20493 avcodec/tiffenc: support writing ICC profiles (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20493#issuecomment-6715) by j⁠ianhuaw
<fjlogger> [FFmpeg/FFmpeg] Pull request #20431 closed: avcodec/mpegaudiodec_template: Don't modify AVCodecContext.priv_data (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20431) by m⁠kver
<fjlogger> [FFmpeg/FFmpeg] Pull request #20436 closed: avcodec/pcm_tablegen: Fix hardcoded-tables if alaw,mulaw,vidc codecs disabled (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20436) by m⁠kver
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20458 Add drawvg video filter. (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20458#issuecomment-6721) by a⁠yosec
ccawley2011 has quit [Ping timeout: 260 seconds]
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20458 Add drawvg video filter. (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20458#issuecomment-6722) by a⁠yosec
philipl has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] Pull request #20508 opened: swresample/resample, soxr_resample: Use designated initializers (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20508) by m⁠kver
<fjlogger> [FFmpeg/FFmpeg] Pull request #20509 opened: avcodec: Add av_cold to flush,init,close functions missing it (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20509) by m⁠kver
Anthony_ZO has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20507 swscale/x86/ops: Fix leak (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20507#issuecomment-6740) by m⁠kver
<fjlogger> [FFmpeg/FFmpeg] Pull request #20507 closed: swscale/x86/ops: Fix leak (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20507) by m⁠kver
witchymary has joined #ffmpeg-devel
HarshK23 has quit [Quit: Connection closed for inactivity]
ccawley2011 has joined #ffmpeg-devel
GewoonLeon has quit [Ping timeout: 256 seconds]
jamrial has quit [Read error: Connection reset by peer]
jamrial_ has joined #ffmpeg-devel
Kimapr_ has joined #ffmpeg-devel
kimapr__ has quit [Remote host closed the connection]
ccawley2011 has quit [Ping timeout: 248 seconds]
MetaNova has quit [Quit: quit]
MetaNova has joined #ffmpeg-devel
<fjlogger> [FFmpeg/FFmpeg] New comment on pull request #20461 avutil/samplefmt: add a sample format descriptor API (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20461#issuecomment-6743) by m⁠ichaelni