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 6.1.1 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
MisterMinister has quit [Ping timeout: 255 seconds]
SystemError has quit [Remote host closed the connection]
SystemError has joined #ffmpeg-devel
AbleBacon has quit [Read error: Connection reset by peer]
MisterMinister has joined #ffmpeg-devel
iive has quit [Quit: They came for me...]
thilo has quit [Ping timeout: 260 seconds]
thilo has joined #ffmpeg-devel
thilo has quit [Changing host]
thilo has joined #ffmpeg-devel
Mister_D has joined #ffmpeg-devel
MisterMinister has quit [Ping timeout: 255 seconds]
MisterMinister has joined #ffmpeg-devel
Mister_D has quit [Ping timeout: 268 seconds]
<cone-706> ffmpeg Andreas Rheinhardt master:0f20e48e3d3e: fftools/ffprobe: Don't cast const away needlessly
<cone-706> ffmpeg Andreas Rheinhardt master:ed5bf403d7b5: fftools/ffprobe: Constify printing section header
<cone-706> ffmpeg Andreas Rheinhardt master:08328463d51b: fftools/ffprobe: Simplify printing xml values
<cone-706> ffmpeg Andreas Rheinhardt master:b31ee084a94a: fftools/ffprobe: Use int64_t instead of long long int
<cone-706> ffmpeg Andreas Rheinhardt master:484e7716bc9c: avcodec/cbs_h266_syntax_template: Don't omit unused function parameter
<cone-706> ffmpeg Andreas Rheinhardt master:f705b8b5b4fb: avutil/opt: Use correct function pointer type
<cone-706> ffmpeg Andreas Rheinhardt master:2e4e424ac237: avutil/hwcontext: Don't check before av_buffer_unref()
Mister_D has joined #ffmpeg-devel
qeed has joined #ffmpeg-devel
MisterMinister has quit [Ping timeout: 264 seconds]
mkver has quit [Ping timeout: 260 seconds]
lexano has quit [Ping timeout: 264 seconds]
<aaabbb> i'm working on a custom container for mpeg1 for an embedded application. it only supports a subset of mpeg1 with 6 quality levels and 2 audio codecs. where should i look for best practices when doing this, for integrating it into a private fork of ffmpeg?
<Lynne> if you're not aiming for efficiency, just make a simple packet header into which to wrap packets, and look at some simple demuxer like aac
<Lynne> I'd accept mpeg-1 encapsulation support patches for avtransport too, it's a simple codec
<aaabbb> Lynne: i mean in regards to the interface (sorry english isn't my native language), it's a very simple container with the mpeg1 bitstream and the audio bitstream and a header, but it only supports a subset of mpeg1. i feel that it would be sloppy to define a custom codec that is literally mpeg1video with one of 6 different combinations of settings
<aaabbb> it has things like a custom -intra_matrix etc (which i can easily pass on command line with -c:v mpeg1video, custom container aside)
<Lynne> if it's a custom fork you're making, there's no such thing as too sloppy
<aaabbb> i'd still rather do it properly :p
Daemon404 has quit [Ping timeout: 260 seconds]
Daemon404 has joined #ffmpeg-devel
<aaabbb> i'll figure that one out later. Lynne what's a good format to look at to see how to correctly write for a new container? i don't see any example containers to base the code on
jamrial has quit []
MisterMinister has joined #ffmpeg-devel
Mister_D has quit [Ping timeout: 252 seconds]
MisterMinister has quit [Ping timeout: 252 seconds]
Kei_N has quit [Ping timeout: 260 seconds]
Kei_N has joined #ffmpeg-devel
kasper93 has quit [Ping timeout: 264 seconds]
kasper93 has joined #ffmpeg-devel
Kei_N has quit [Ping timeout: 264 seconds]
cone-706 has quit [Quit: transmission timeout]
Kei_N has joined #ffmpeg-devel
Martchus has quit [Ping timeout: 256 seconds]
Martchus_ has joined #ffmpeg-devel
rvalue has joined #ffmpeg-devel
jarthur has quit [Quit: jarthur]
Marth64 has joined #ffmpeg-devel
<Marth64> greetings
<Marth64> What do the fateserver do and why are they broken?
<Marth64> I'm willing to help possibly
qeed has quit [Quit: Leaving]
<Lynne> they're not broken, just not maintained
<Lynne> it's the infra that collects all results from all machines that automatically run tests
<Marth64> got it
<Marth64> yeah I can help pick up where the rewrite version left off if that's desirable
<Marth64> looks like salvagable javascript, just needs some dependencies cleaned up
<Marth64> modernized a bit
Marth64 has quit [Ping timeout: 264 seconds]
Marth64 has joined #ffmpeg-devel
<jdek> BBB: need dword for this
<jdek> I saw there were some instructions which used 18bit intermediaries so maybe I don't even need to extend to dword
cone-616 has joined #ffmpeg-devel
<cone-616> ffmpeg sunyuechi master:925b55a5e889: lavc/me_cmp: R-V V vsse vsad
<cone-616> ffmpeg sunyuechi master:9b90d0d36ad1: lavc/me_cmp: R-V V vsse vsad intra
Sirtsu55 has joined #ffmpeg-devel
Sirtsu55 has quit [Quit: Client closed]
<cone-616> ffmpeg Stone Chen master:ef917950f029: avfilter/vf_convolution: add float user_rdiv[4] to allow user options to apply correctly
kepstin has quit [Remote host closed the connection]
kepstin has joined #ffmpeg-devel
kepstin has quit [Remote host closed the connection]
kepstin has joined #ffmpeg-devel
<jkqxz> elenril: Hmm, so there is no way to set a thread queue size for frames to the non-default value. (Input option does nothing and output option affects only the muxer packet queue.)
<jkqxz> Is that intended?
<elenril> it's an intended PATCHWELCOME
<jkqxz> Ok. I will use the default to fix the decoder and add an assert in queue_alloc() so that if someone has a patch to change the value then they will notice.
<elenril> also, apis that forced fixed pools sizes on you are stupid and should die in a fire
<jkqxz> And so should hardware made with only one BAR for the reference frame array?
<elenril> of course
<jkqxz> That would be a bit wasteful when it otherwise all still works.
<elenril> internet tells me MMUs are free and everyone should have one
<elenril> internet wouldn't lie to me
<jkqxz> Because page walking is great for your inter prediction fetch performance.
<elenril> i totally understand what all these words mean
<elenril> anyway, the only reason it's not implemented is lazi^wlack of time
<elenril> feel welcome to send patches, otherwise I might get to it eventually
<jkqxz> Patch for the immediate bug sent.
<jkqxz> Also consider yourself mildly castigated for burying a highly significant magic number in the middle of a function.
Marth64 has quit [Ping timeout: 255 seconds]
<elenril> my ears are red
<elenril> I'll go an sit on a rock for half a year now
Marth64 has joined #ffmpeg-devel
Marth64 has quit [Ping timeout: 264 seconds]
Marth64 has joined #ffmpeg-devel
Marth64 has quit [Ping timeout: 252 seconds]
Marth64 has joined #ffmpeg-devel
jamrial has joined #ffmpeg-devel
<jamrial> elenril: your replies are again breaking threads
mkver has joined #ffmpeg-devel
cone-616 has quit [Quit: transmission timeout]
cone-883 has joined #ffmpeg-devel
<cone-883> ffmpeg Andreas Rheinhardt master:906fc2b2e77d: fftools/ffmpeg_mux: Fix use of uninitialized variable
<cone-883> ffmpeg Andreas Rheinhardt master:b4b8b9ad5cf8: avfilter/avfilter: Suppress warning for variable only used in av_assert1
<cone-883> ffmpeg Andreas Rheinhardt master:ab2173c0a530: avcodec/cbs_h2645: Avoid function pointer casts, fix UB
tortoise has quit [Ping timeout: 252 seconds]
tortoise has joined #ffmpeg-devel
<thardin> TIL LL-HLS is a thing
<BBB> ll is relative in ll-hls
Gramner has quit [Remote host closed the connection]
Gramner has joined #ffmpeg-devel
<BBB> jdek: why disable the sse2/ssse3 opts?
<BBB> are they broken?
<jdek> BBB: I need pmovsxwd which is sse4 maybe I should have used %if cpuflag(sse4)
<BBB> I'll submit something alternate
<BBB> one sec
<jdek> my original thought was to use the avx variant vpmovsxwd and ymms but I couldn't get it to work
<BBB> :)
<BBB> pxor m13, m13; pcmpgtw m13, m12; punpck[lw]hw [m10,] m12, m13
<BBB> is typically faster
<BBB> I'm providing an alternate fix, gimme a few minutes to test
<BBB> I hate having to fix obsolete codecs
<BBB> :)
<kierank> lol
<BBB> </troll>
<jdek> I hate having to work with obsolete architectures like x86
<BBB> jdek: so for the main calculation, since it's 9* and 3*, you can do 3*(q0-p0)-(q1-p1) in words
<BBB> jdek: touche, well done
<BBB> and then do only the 3* after that in dwords, assuming that is the one that overflows
<BBB> it's also possible that if you do the whole thing in absolutes, that you don't need dwords at all
<BBB> since it ends with PABSW anyway
<BBB> is there a known set of pixel input values for checkasm to make the overflow happen?
<BBB> or just "big diffs"?
<BBB> do you have a checkasm patch to emulate this?
<jdek> for i in $(seq 10000); do ./tests/checkasm/checkasm --test=hevc_deblock; done 2> t.txt
<jdek> then just search the file for FAILED
<BBB> okay
<BBB> thank
<BBB> s
<jdek> i recommend you disable strong and skip testing in the checkasm test before you do this
Kei_N_ has joined #ffmpeg-devel
<BBB> do you have a seed that fails?
Kei_N has quit [Ping timeout: 246 seconds]
<jdek> with the patch to disable strong tests beforehand, 2917981395
<BBB> how come my hevc_deblock.c has no check_deblock_luma function?
<jdek> you need to apply the chesckasm patch above
<jdek> alternatively, ack the test on ML
<BBB> :)
<BBB> nope still doesn't overflow for me
<BBB> checkasm: using random seed 2917981395
<BBB> SSE2:
<BBB> - hevc_deblock.chroma [OK]
<BBB> - hevc_deblock.luma [OK]
<BBB> SSSE3:
<BBB> - hevc_deblock.luma [OK]
<BBB> AVX:
<BBB> - hevc_deblock.chroma [OK]
<BBB> - hevc_deblock.luma [OK]
<BBB> checkasm: all 48 tests passed
<jdek> just do the method above then I guess, the seeds didn't work across PCs for me either
<BBB> 801241359
kurosu has joined #ffmpeg-devel
* Sean_McG peeks in
<BBB> hm
<BBB> jdek: am I right that only the sse2 version overflows?
<jdek> I think all overflow(?)
<BBB> ok
<BBB> I see
<BBB> the others just take a bit longer
<another|> hmm.. maybe I should polish my checkasm test script and push it somewhere
<BBB> jdek: can you test https://pastebin.com/KvcbQ2nK ?
<BBB> jdek: that seems to solve it for me and keeps it in words for ssse3/avx
<BBB> so it's better performance-wise
<jdek> can test in ~1hr or so
cone-883 has quit [Quit: transmission timeout]
<kurosu> BBB doing HEVC stuff O_O;
<BBB> kurosu: I know, flying pigs
jarthur has joined #ffmpeg-devel
<BBB> kurosu: in reality I could've just done nothing and 12bit deblock would go from 10 to 30 instructions but that felt wrong ;)
<JEEB> 8)
Marth64 has quit [Ping timeout: 268 seconds]
<kurosu> 12 bits is the RExt profile, not sure how much that is even used. HDR contribution or some such? Maybe now Dolby likes you a bit more
Marth64 has joined #ffmpeg-devel
<JEEB> rext contains a whole bunch more like 4:4:4, right?
<JEEB> range extensions
<kurosu> I'm rather surprised nothing else breaks in Main12
<kurosu> Yes 4:2:2 as well, and a few tools (quantization can go to 60 or some such?) afaik
<Lynne> rext was screen content orientated
<Lynne> for some unknown reason, x265 has done rext by default for anything slighly unorthodox for many years now
<kurosu> No, SCC is yet another profile
<Lynne> meh, they were both packaged together in my perspective
<kurosu> Maybe same edition, but clearly SCC started from what wasn't kept for RExt, and while it was being completed
<JEEB> oh, 2023-09 documents are finally getting published fully @ ITU
<jamrial> JEEB: h274 is still "prepublished"
<JEEB> :<
<JEEB> I just noticed H.265 was out
<JEEB> I kinda need H.273 so I can verify they specced what was in the drafts
<kurosu> I find it funny that ffvvc is getting IBC before ffhevc, which probably won't ever get it - I kind of remember Intel implemented the parsing bits for SCC, clearly with the goal of hw decoding ?
lexano has joined #ffmpeg-devel
<JEEB> Lynne: the 2016-12 edition contains screen content coding extensions
<JEEB> rext was the v2 of the spec which was 2014
<kurosu> ok, isn't that even v4 then?
<JEEB> (which just added non-4:2:0 etc)
<JEEB> yea that is v4
<kurosu> I think mv-hevc might have been v3
<kurosu> as HDR ended up being a TR
<JEEB> yea scalable coding seems to be the thing in v3
<kurosu> anyway, BBB, yes the world is upside-down: one vp9/av1 aficionado working on hevc, and an mpeg sellout now working on an av1 encoder
<JEEB> and yea, H.273 still pre-published as well :<
<jdek> BBB: my plan to post bad x86 code and nerd snipe someone into writing better code worked x) thanks tho, your patch works, I'll send it to list with the full set
<Lynne> kurosu: who/who?
Guest99 has joined #ffmpeg-devel
Guest99 has quit [Client Quit]
Poorva has joined #ffmpeg-devel
Poorva has quit [Client Quit]
Poorva2003 has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 272 seconds]
Poorva2003 has quit [Client Quit]
<BBB> jdek: should've'known
<BBB> Lynne: he means himself
<BBB> jdek: but you're right, it's surprisingly effective
<Lynne> no way, what motivated you?
<BBB> me?
rvalue has joined #ffmpeg-devel
Poorva has joined #ffmpeg-devel
<BBB> Lynne: like jdek said, he nerdsniped me
Poorva has quit [Client Quit]
Poorva has joined #ffmpeg-devel
Sirtsu55 has joined #ffmpeg-devel
<another|> OF
<another|> oops
<Lynne> guess that's what happens when you run out of assembly to write
Sirtsu55 has quit [Client Quit]
dykai has joined #ffmpeg-devel
<kurosu> James was similarly nerd snipped by the MMX asm removal proposal, and he wrote the SSE2 (ok that must have taken all of 3 minutes, but still)
dykai has quit [Quit: dykai]
dykai has joined #ffmpeg-devel
dykai has quit [Client Quit]
<Poorva> REGISTER p123 pbgaikar_b21@el.vjti.ac.in
Poorva has quit [Quit: Leaving]
zsoltiv_ has joined #ffmpeg-devel
AbleBacon has joined #ffmpeg-devel
<haasn> not a very effective password
<llyyr> i wasn't eligible to apply at that uni :(
Poorvagaikar2003 has joined #ffmpeg-devel
Poorva has joined #ffmpeg-devel
Poorva has quit [Quit: Client closed]
Poorvagaikar2003 has quit [Ping timeout: 264 seconds]
<Sean_McG> michaelni: I tried to do a password reset on Patchwork but it's been a half hour and I still have not received the email
<compn> checked spam ?
Poorvagaikar2003 has joined #ffmpeg-devel
Poorva has joined #ffmpeg-devel
Poorva has quit [Client Quit]
Poorvagaikar58 has joined #ffmpeg-devel
Poorvagaikar58 has quit [Client Quit]
Poorvagaikar58 has joined #ffmpeg-devel
<Sean_McG> compn: yes, not in spam folder
Poorvagaikar58 has quit [Quit: Client closed]
Poorvagaikar2003 has quit [Ping timeout: 260 seconds]
<michaelni> Sean_McG, ask Andriy
thilo has quit [Ping timeout: 268 seconds]
thilo has joined #ffmpeg-devel
thilo has quit [Changing host]
thilo has joined #ffmpeg-devel
Marth64 has quit [Ping timeout: 256 seconds]
Marth64 has joined #ffmpeg-devel
HarshK23 has quit [Quit: Connection closed for inactivity]
<frankplow> Anyone familiar with MPEG-TS able to give me some insight on what's going on with "VVC HDR UHDTV1 OpenGOP 3840x2160 50fps HLG10 PiP" from here: https://dvb.org/specifications/verification-validation/vvc-test-content/
<frankplow> (you can leave the name/email fields blank when prompted, just click submit)
<j-b> 'tsup
<frankplow> FFmpeg says the file contains two VVC streams. I can decode the first fine, but the second seems off.
<j-b> frankplow: kierank should know.
<kierank> Picture in picture, weird
<frankplow> I have tried extracting the codec data for the second stream with: ffmpeg -i VVC_HDR_UHDTV1_OpenGOP_3840x2160_50fps_HLG10_PiP.ts -map 0:v:1 -an -c:v copy -f data VVC_HDR_UHDTV1_OpenGOP_3840x2160_50fps_HLG10_PiP.vvc but this doesn't work
<kierank> what does mediainfo say
HarshK23 has joined #ffmpeg-devel
<JEEB> if you need to check MPEG-TS specifics, check DVB Inspector? it's java, but one of the least bad MPEG-TS analyzers.
<JEEB> 1.18.0 apparently just added support for VVC and VVCVideoDescriptor
<frankplow> Agrees with FFmpeg: two streams. Both have the same duration. I'm guessing the second is a PiP area within the first, it just seems weird it doesn't appear to be a normal bitstream
<frankplow> JEEB: Thanks
<kasper93> "the least bad MPEG-TS analyzers" heh, I find it quite useful, for free analyzer that is
<kasper93> stuff like that can cost $$$
<JEEB> yes, "least bad" is how I say "the best" without calling it the best :D
<JEEB> otherwise why would I be recommending it
<JEEB> lol
<JEEB> and yes, a lot of that stuff is behind $$$
<JEEB> frankplow: also for the MPEG-TS mappings, you can check if https://www.itu.int/rec/T-REC-H.222.0-202106-S/en already contains it
<JEEB> (is available for free)
cone-317 has joined #ffmpeg-devel
<cone-317> ffmpeg Frank Plowman master:248a1f9d00f8: lavc/vvc: Increase VVC_MAX_* definitions for level 6.3
<cone-317> ffmpeg Frank Plowman master:53ab7ff67e7e: lavc/vvc: Correct sps_num_subpics_minus1 minimum
<jamrial> frankplow: ^ should make it fail parsing a bit later
<jamrial> it was failing at sps_num_subpics_minus1, now it fails at dpb_max_num_reorder_pics
<jamrial> so maybe cbs_h266 is misparsing something else?
<j-b> Gramner: if you have time, plz review the "avcodec/x86/hevc: fix luma 12b overflow" patch
<frankplow> jamrial: It's possible. Unfortunately I haven't been able to run it through VTM to compare as I can't get the codec data for that second stream. The first decodes correctly and FFVVC and VTM agree.
<frankplow> I'm suspicious of the HLS or something else though, it seems odd this particular bitstream would catch so many CBS bugs and it reminds me of the bug I fixed with 0c517fcbe8ee864c8390dd08696ec63621a4f3e0 in some ways
<jamrial> frankplow: https://pastebin.com/raw/asasZZFp i was able to get that out of trace_headers
<frankplow> jamrial: Yeah it looks like a problem with the CBS
OfficerPendejo is now known as microchip_
<j-b> Gramner: thx
<sdc> if I wanted to try arm asm, should I pick up something like a raspberry pi?
<Lynne> you should grab something cheap with an eMMC
qeed has joined #ffmpeg-devel
<Lynne> I'd highly recommend getting an in-order core like an a55 or an a53, plus they're usually cheaper
<sdc> okay awesome thank you, I'll do some searching
qeed has quit [Remote host closed the connection]
<Lynne> odroid c4 or a c2 are your best bet, the c2 is a bit old but has full mainline kernel support, extremely rare in the arm world
qeed has joined #ffmpeg-devel
<jamrial> frankplow: found it
<jamrial> frankplow: https://pastebin.com/rMncV11V
<jamrial> you may want to double check the infers() for when these fields are not present
<frankplow> jamrial: Yeah I posted an identical patch, sorry should have pinged you on here also
<jamrial> ah good
<jamrial> frankplow: do i push your patch, or want to check the infer stuff first?
<frankplow> I had a quick look already, and I think all are fine, but I wouldn’t mind giving it a once over in the morning
<jamrial> ok
<cone-317> ffmpeg Frank Plowman master:8b6219a99d80: lavc/vvc: Read subpic ID when only one subpicture is present
thilo has quit [Ping timeout: 256 seconds]
thilo has joined #ffmpeg-devel