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.2 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
<Lynne>
lol, a custom aac decoder
cone-238 has joined #ffmpeg-devel
<cone-238>
ffmpeg James Almer master:8b4e32f30bd2: tests/fate/mov: fix rules for some tests
<cone-238>
ffmpeg James Almer release/7.1:cb2327562326: tests/fate/mov: fix rules for some tests
iive has quit [Quit: They came for me...]
thilo_ has quit [Ping timeout: 252 seconds]
thilo_ has joined #ffmpeg-devel
haihao has quit [Ping timeout: 244 seconds]
haihao has joined #ffmpeg-devel
Traneptora has joined #ffmpeg-devel
Traneptora has quit [Remote host closed the connection]
<aaabbb>
it doesn't look like it's a custom decoder, aacdecoder.cpp has "(C) copyright Fraunhofer - IIS (1998)"
<Lynne>
I remember there being something of a story for how aac got into winamp involving lawsuits, but its long lost now
zip6como has quit [Quit: Ping timeout (120 seconds)]
zip6como has joined #ffmpeg-devel
arbitercoin has joined #ffmpeg-devel
<jamrial>
vvc hardware decoding already?
<Lynne>
yeah, intel
Guest8 has joined #ffmpeg-devel
Guest8 has quit [Client Quit]
<Marth64>
still havent run into a vvc yet in real world
<Marth64>
did pick up an ac4 broadcast the other day that i of course couldn't listen to
<Marth64>
HA
vipyne has joined #ffmpeg-devel
cone-238 has quit [Quit: transmission timeout]
<Lynne>
of all codecs, AC-4 is the codec you'd LEAST want to listen to
Martchus_ has joined #ffmpeg-devel
<Marth64>
I still find a good AC-3 encode very acceptable
<Marth64>
but I also operate off of earbuds (hooked up to a decent sound card)
Martchus has quit [Ping timeout: 252 seconds]
<Lynne>
its not about the codec, its about the content
<Lynne>
the best version of Song 2 by Blur is the one I heard on Siren when we got decoding to work, in all its 22khz 24kbps glory from 1996
<Marth64>
very true
<Marth64>
a good master
<Lynne>
the only stuff you'll find on AC-4 are: American news, Oprah, and those awful game shows they have
<Marth64>
rofl
<Marth64>
and commercials
<Marth64>
I can confirm all of this
<Lynne>
oh, and K-Pop, oddly, I have a K-Pop single in AC-4
<Marth64>
I concede European game shows are far more fun than American IMO
<Marth64>
ours pale in comparison when it comes to color and fun
<Marth64>
ads everywhere
<Lynne>
I have a PhD in Japanese game shows, to me Celebrity Big Brother EU or Celebrity Big Brother US are on the same level
<Lynne>
oh hey, 7.1 will be the first version with AAC-USAC
<Marth64>
I look forward to trying it
<Marth64>
also some of the new -map selectors
<Marth64>
i can kill some of my custom scripts which i love eliminating
<Marth64>
i've sadly transcended from enjoying my material to remuxing the same thing a thousand times with scripts while testing my demuxer
arch1t3cht3 has joined #ffmpeg-devel
<Marth64>
i should stop being lazy and produce dvd isos with oss tools and my camera and write proper fate tests
arch1t3cht has quit [Ping timeout: 246 seconds]
arch1t3cht3 is now known as arch1t3cht
<Marth64>
i did start on libbluray demuxer
jamrial has quit []
vipyne has quit [Quit: Leaving.]
tufei__ has joined #ffmpeg-devel
tufei_ has quit [Remote host closed the connection]
derpydoo has joined #ffmpeg-devel
haihao has quit [Ping timeout: 276 seconds]
haihao has joined #ffmpeg-devel
elenril has quit [Ping timeout: 246 seconds]
mkver has joined #ffmpeg-devel
derpydoo has quit [Ping timeout: 276 seconds]
<kurosu>
Lynne: and AC4 possibly in French terrestrial broadcasts (meaning it's in the ETSI toolbox for EU broadcasts). A certain Jean-B. (identity withheld) had complained about this, but that boat has likely sailed
<kurosu>
VVC seems to making a mark in the CN market, eg Alibaba, Tiktok and maybe some Netflix equivalents. Not really surprised by where the contributions are coming
<kurosu>
Intel, and Nvidia, have surprisingly be quick to adopt new standards
<kurosu>
A bit surprised by the integration in x265 of the HEVC SCC extension, for which Intel does have HW decoding. I thought the opportunity for it had greatly passed, and AV1 was filling that niche need
hbbs has quit [Quit: bye]
hbbs has joined #ffmpeg-devel
hbbs has quit [Changing host]
hbbs has joined #ffmpeg-devel
<Lynne>
kurosu: have they started doing AC-4 in France?
<kurosu>
I don't follow much anymore, so not sure how "in the field" and not "experimental" that was. eg, we got UHD broadcasts under select circumstances (through ISP STBs and when using a particular transponder in some locations). But that seems to be the direction they want to go
<nevcairiel>
I only know that some US stations use it, and I did get a test recording out of france at some point, but that was just a testing broadcast at that point
<Lynne>
hot: I'd take an ac-4 stream over he-aacv2 stream any day of the week, parametric stereo is *that* bad
___nick___ has joined #ffmpeg-devel
<nevcairiel>
ac4 also has so many fake multi-channel coding modes, its like its all marketing to sell people 5.1 upmixes on a codec level
<Lynne>
same with xhe-aac (mpeg-h)
<King_DuckZ>
what is it used for?
<King_DuckZ>
I recently moved from vorbis to opus and I'm quite satisfied, what's the advantage of ac4 over vorbis and opus?
<Lynne>
patents
kasper93 has quit [Ping timeout: 248 seconds]
<psykose>
handing your buddies at bigcorp fat stacks of cash in big deals
itjunky has joined #ffmpeg-devel
itjunky has left #ffmpeg-devel [Leaving]
<aaabbb>
ac4 might do better than vorbis at low bitrates, but only because vorbis isn't meant for that
<Lynne>
vorbis is pretty good at 45ish kbps
<aaabbb>
lowest is 32kbps right? what's ac4's lowest?
<Lynne>
its got huge transform sizes so with simple content it can do amazing stuff
<aaabbb>
there's never any reason to use vorbis instead of opus is there? other than if you need lower decoding complexity
<Lynne>
if you're encoding piano, or worse, bass organ music at 30-something kbps
<Lynne>
opus does badly with highly tonal content due to its low 20% overlap
<aaabbb>
harpsichord :D
<Lynne>
that's why libopus' bitrate explodes to easily 2x the set bitrate if you encode something with tone at every band
<aaabbb>
i assume if opus used dynamic overlap, the signaling bits to specify that would not be worth the overhead?
<Lynne>
no, they definitely would be
<Lynne>
but there's a microsoft patent from 2003 on dynamic overlap
<aaabbb>
wow that sucks
<Lynne>
made by the creator of mdct
<Lynne>
yeah, opus was 10 years too early to benefit from it
<Lynne>
and daala was also blocked by this
<aaabbb>
that's just sad :(
<aaabbb>
would it help in situations other than highly tonal signals?
<Lynne>
not really, opus already has low overlap to help with transients, and even moreso, it can do TF switching to combine certain tonal bands together into an approximation of what a long transform would've done
<aaabbb>
oh good, so a way to get around the patent in an almost-equivalent-but-not-quite way
<Lynne>
yeah, it could've been better with a few more multiplies since all it does is a haar transform
<aaabbb>
but it's not a "it could have been so much better", it's pretty near the peak of what can be done?
<Lynne>
but I'm sure the ones decoding opus on an asic like it this way (no one does)
<Lynne>
a few years later, "it could've been so much better" would hold true
<aaabbb>
what do you mean?
<Lynne>
since PVQ prediction was invented only 2 or so years after opus was standardized
<aaabbb>
ah
<aaabbb>
and i assume that's something else that the encoder can't take advantage o with the current bitstream
<Lynne>
the current bitstream lacks even an extension or a reserved field
<Lynne>
that's why the extension method uses the small 1-byte uncompressed header's padding instead
<aaabbb>
well that's not good. i thought some extension was used for dred though?
<aaabbb>
ah
<King_DuckZ>
I don't see the point for me then, I don't think I have any vorbis below 192, which is probably overkill sure, but realistically I don't see why I'd ever go as low as 45
<aaabbb>
King_DuckZ: what you can do with vorbis at 192, you can get away with opus at 128
<King_DuckZ>
one doesn't spend hundreds or thousands on dacs and headphones just so that they can save pennies on storage
<aaabbb>
once it's perceptually lossless, all you're doing is wasting space
<aaabbb>
transparent is transparent
<King_DuckZ>
aaabbb: yep, like I said I'm switching to opus, I have a mix of the two now, it'll take time
<aaabbb>
hopefully transcoding from the flac originals and not from the lossy vorbis ;)
<King_DuckZ>
of course my friend! ;)
j45_ has joined #ffmpeg-devel
j45 has quit [Ping timeout: 248 seconds]
j45_ is now known as j45
j45 has quit [Changing host]
j45 has joined #ffmpeg-devel
ccawley2011 has joined #ffmpeg-devel
<King_DuckZ>
can someone help with my question from yesterday? what's the best way to flush the udp buffer in ffmpeg from mpv when playing a stream?
<King_DuckZ>
should I add an api for that (if it doesn't exist yet) or is it best to destroy all objects and re-create them?
<King_DuckZ>
I'm managing an error situation where the stream gets very flaky and mpv stops
jamrial has joined #ffmpeg-devel
ccawley2011 has quit [Read error: Connection reset by peer]
elenril has joined #ffmpeg-devel
vipyne has joined #ffmpeg-devel
vipyne has quit [Ping timeout: 276 seconds]
microlappy has joined #ffmpeg-devel
microlappy has quit [Remote host closed the connection]
microlappy has joined #ffmpeg-devel
microlappy has quit [Read error: Connection reset by peer]
kasper93 has joined #ffmpeg-devel
<wbs>
jamrial: you have touched some of the av1 hwaccel APIs, if I remember correctly?
<jamrial>
not really
<wbs>
hmm, ok
<jamrial>
i worked on the native "decoder", ensuring the hwaccel calls are properly placed among other things
<jamrial>
but not strictly with them
vipyne has joined #ffmpeg-devel
<wbs>
I'm trying to make it work for videotoolbox. the problem is that videotoolbox isn't really an API at the same level as the other hwaccel APIs, but it simply wants essentially the original AVPacket contents - but we get a series of callbacks for each OBU. For some stream types, that contain AV1_OBU_FRAME, it's easy - just concatenate the data we get in the hwaccel callbacks, and we've got essentially the
<wbs>
input packet
<wbs>
But for one kind of stream, using tile groups, we get AV1_OBU_FRAME_HEADER + AV1_OBU_TILE_GROUP, and from the data we get there, I can't really reassemble it back into the original AVPacket form
<wbs>
btw, av1dec.c, lines 1330-1333 seem a bit weird (but unrelated to what I'm debugging)
<wbs>
in the decode_slice callback, we get raw_tile_group->tile_data.data, while for videotoolbox I'd like to have unit->data (the whole OBU, I guess). Or I should need to recreate the OBU framing in the decode_slice callback
vipyne has quit [Ping timeout: 276 seconds]
Gramner has quit [Remote host closed the connection]
vipyne has joined #ffmpeg-devel
vipyne has quit [Ping timeout: 276 seconds]
<King_DuckZ>
no one?
<Marth64>
Lynne; he-aac is basically tin can
vipyne has joined #ffmpeg-devel
vipyne has quit [Ping timeout: 248 seconds]
Krowl has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
Krowl has joined #ffmpeg-devel
vipyne has joined #ffmpeg-devel
Gramner has joined #ffmpeg-devel
<ePirat>
wbs, I have the somewhat same problem for VP9 on intel macs with ffmpeg
<ePirat>
wbs, I wonder if we could implement some optional callback to pass a whole AVPacket instead? but I guess that might be hard to do…
<elenril>
or maybe we could stop pretending it's an hwaccel when it's not
<ePirat>
I suggested that and people complained it breaks fallback
<ePirat>
which is a reasonable complaint too…
<elenril>
blame apple
<ePirat>
its easy to shift the blame to others :p IIRC VideoToolbox isnt the only API behaving like this
<elenril>
the other ones are wrapped as standalone decoders
<ePirat>
yes and therefore also lack fallback, no?
<elenril>
yes
<Daemon404>
hardware was a mistake
<elenril>
being a standalone decoder should be a mark of shame
<elenril>
Daemon404: I do all my computations on abstract platonic forms
<elenril>
(there's a vim plugin for that)
<JEEB>
I mean the other reason to not have a separate decoder is to keep the metadata and side data given out by the native decoder
<JEEB>
but I guess fallback is also a Big Thing, although not sure if required by various API clients (would they attempt to re-init decoder if the hwdec one fails?)
<Daemon404>
elenril, as long as it isn't on a thinking machine
<kurosu>
You don't want another Butlerian Jihad, right
Krowl has quit [Read error: Connection reset by peer]
<jamrial>
wbs: what you're doing is not really different than nvdec
jamrial has left #ffmpeg-devel [#ffmpeg-devel]
jamrial has joined #ffmpeg-devel
tufei__ has quit [Ping timeout: 260 seconds]
<wbs>
jamrial: ok, I'll have a look at nvdec_av1
arbitercoin has quit [Ping timeout: 245 seconds]
<jamrial>
wbs: also, you can access the entire current packet in (AV1DecContext)->current_obu->data{_ref}
Krowl has joined #ffmpeg-devel
ccawley2011 has joined #ffmpeg-devel
Traneptora has joined #ffmpeg-devel
<Traneptora>
is balling a troll?
<elenril>
yes
<Traneptora>
why aren't they banned from trac
<Traneptora>
they're complaining about unrelated things on tickets
<elenril>
because our CC is entirely useless and believes no action should ever be taken, perhaps?
<wbs>
jamrial: oh, that would be a very neat shortcut
IndecisiveTurtle has quit [Ping timeout: 245 seconds]
<Daemon404>
Traneptora, banning also doesnt work with him
<Daemon404>
he has been banned from every bug tracker known to man
<Daemon404>
but he rejoins with new names
<Daemon404>
and new VPNs
<Daemon404>
at least theyre not on irc anymore...
<Traneptora>
ah
Traneptora has quit [Quit: Quit]
___nick___ has quit [Ping timeout: 272 seconds]
<ePirat>
Daemon404, we still should ban him, I think…
Workl has joined #ffmpeg-devel
___nick___ has joined #ffmpeg-devel
Krowl has quit [Ping timeout: 264 seconds]
Xaldafax has joined #ffmpeg-devel
<ePirat>
wbs, but in general I agree that elenril is probably right and it should be its own decoder
Krowl has joined #ffmpeg-devel
<ePirat>
but thats not really easy to pull off now as it obviously breaks things so we would probably need to have both for a while and eventually remove the others and so on…
Workl has quit [Ping timeout: 248 seconds]
<Daemon404>
ePirat, depends if the ban results in more pain than not banning
<Daemon404>
a sad state of affairs.
<Daemon404>
last time we did, he spammed us for weeks iirc
<Daemon404>
you only really "solve" it with manual account approvals like videolan does
<Daemon404>
(and that wont solve irc spam)
<ePirat>
right
<courmisch>
IRC and email are obsolete
<courmisch>
time for walled gardens!
<jamrial>
lets move to discord
<kasper93>
shadowban him, it will take some time untill he realizes
<kasper93>
but you won't win with this level of autism, you have to just ignore/accept to live with it
<kasper93>
I like this quote from him
<kasper93>
>It is impossible to ban me. I have 100 of accounts, in fact I may be writing code to your patchwork right now. A lot of people tried, they all lost.
<kasper93>
(also if you ban him here, he will likely migrate to adjacent projects... but ffmpeg is his favorite one looking at things)
cone-361 has joined #ffmpeg-devel
<cone-361>
ffmpeg Michael Niedermayer master:a9c83e43f2fc: avcodec/ffv1enc: Fix >8bit context size
<cone-361>
ffmpeg Michael Niedermayer master:747e1a26afbb: avcodec/ffv1dec: Blow up if user asks for explosion
<cone-361>
ffmpeg Michael Niedermayer master:ea6734e1fa8d: tests/fate/vcodec: Add 10bit 2pass FFv1 test
<kasper93>
>Blow up if user asks for explosion
<kasper93>
huh
<Marth64>
kasper93 Lol at that quote
<Marth64>
"It is impossible to ban me" lol
<Daemon404>
kasper93, my favourite part is he constanly referred to wikipedia for colorspace stuff, but if you lok at who edited it into wiki... it was him
<Daemon404>
s/lok/lookl/
<Daemon404>
fff typolyfe
IndecisiveTurtle has joined #ffmpeg-devel
Traneptora has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
<ePirat>
wbs, did you make sure no_warn_duplicate_libraries works with the old linker too and does not cause it to error?
<wbs>
ePirat: I didn't test it (yet), but if the option causes an error, it won't be added
<ePirat>
ok, I can try test it later so see it wont cause an unknown option warning or so
<ePirat>
I remember there are some very annoying differences between the options the linkers take
<wbs>
options that are accepted but produce warnings, are problematic for that kind of configure tests indeed
mkver has quit [Ping timeout: 276 seconds]
Krowl has joined #ffmpeg-devel
___nick___ has quit [Ping timeout: 246 seconds]
cone-361 has quit [Quit: transmission timeout]
Krowl has quit [Read error: Connection reset by peer]
<wbs>
jamrial: absuing s->current_obu seems kinda neat indeed, but for packets that contain multiple frames, I do need to split them still... I do get it working, but it requires a small addition to av1dec.c
<wbs>
jamrial: patch on the ML for this hack, let me know if you find it horrible or acceptable
Mister_D has quit [Ping timeout: 260 seconds]
paulk has joined #ffmpeg-devel
paulk has quit [Changing host]
paulk has joined #ffmpeg-devel
Coinflipper has quit [Quit: ]
Coinflipper has joined #ffmpeg-devel
ccawley2011 has quit [Read error: Connection reset by peer]