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
<mkver> michaelni: Why does the FFV1 encoder allow to override the pixel format's bitdepth via bits_per_raw_sample for e.g. GBRP16, but not for its non-planar analogue RGB48?
lexano has quit [Ping timeout: 256 seconds]
TheSashmo has quit [Quit: Leaving...]
mkver has quit [Ping timeout: 256 seconds]
thilo has quit [Ping timeout: 246 seconds]
thilo has joined #ffmpeg-devel
thilo has quit [Changing host]
thilo has joined #ffmpeg-devel
iive has quit [Quit: They came for me...]
SystemError has quit [Remote host closed the connection]
SystemError has joined #ffmpeg-devel
Wenbin_Chen__ has quit [Read error: Connection reset by peer]
Wenbin_Chen_ has joined #ffmpeg-devel
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
lemourin has joined #ffmpeg-devel
arch1t3cht2 has joined #ffmpeg-devel
arch1t3cht has quit [Ping timeout: 252 seconds]
arch1t3cht2 is now known as arch1t3cht
jamrial has quit []
\\Mr_C\\ has quit [Remote host closed the connection]
Martchus_ has joined #ffmpeg-devel
Martchus has quit [Ping timeout: 272 seconds]
dykai has joined #ffmpeg-devel
dykai has quit [Ping timeout: 252 seconds]
_av500_ has quit [Remote host closed the connection]
Wenbin_Chen_ has quit [Read error: Connection reset by peer]
Wenbin_Chen_ has joined #ffmpeg-devel
<kierank> Wtf
<JEEB> :D
<Lynne> I don't get it?
<JEEB> I guess kierank is surprised ACM published an FFmpeg book
<Lynne> ah, my fault, I haven't heard of them
<JEEB> I only know ACM due to GSoC registering me with them and I received spam for years from them
<JEEB> oh, and now that I read that message again, apparently they added that book as part of their paid membership
<frankplow> This is the same book somebody was slating in #ffmpeg a few days ago, no?
<JEEB> possibly
Krowl has joined #ffmpeg-devel
MetaNova has quit [Ping timeout: 246 seconds]
MetaNova has joined #ffmpeg-devel
rvalue- has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 252 seconds]
rvalue has joined #ffmpeg-devel
rvalue- has quit [Ping timeout: 246 seconds]
Raz- has joined #ffmpeg-devel
rvalue- has joined #ffmpeg-devel
Raz- has quit [Remote host closed the connection]
Raz- has joined #ffmpeg-devel
rvalue has quit [Ping timeout: 256 seconds]
Workl has joined #ffmpeg-devel
Krowl has quit [Ping timeout: 272 seconds]
rvalue- is now known as rvalue
rellla has quit [Changing host]
rellla has joined #ffmpeg-devel
kurosu has joined #ffmpeg-devel
Workl has quit [Read error: Connection reset by peer]
ccawley2011 has joined #ffmpeg-devel
<mindfreeze> The author seems to be having a webpage for the book too
Wenbin_Chen__ has joined #ffmpeg-devel
Wenbin_Chen_ has quit [Ping timeout: 252 seconds]
Krowl has joined #ffmpeg-devel
ccawley2011 has quit [Read error: Connection reset by peer]
ccawley2011 has joined #ffmpeg-devel
Wenbin_Chen_ has joined #ffmpeg-devel
Wenbin_Chen__ has quit [Read error: Connection reset by peer]
mkver has joined #ffmpeg-devel
<Daemon404> its in full color!
cone-403 has joined #ffmpeg-devel
<cone-403> ffmpeg Andreas Rheinhardt master:c3fb0c5babb2: avcodec/ac3enc: Don't presume ch_layout to be AV_CHANNEL_ORDER_NATIVE
<cone-403> ffmpeg Andreas Rheinhardt master:13daafd5c08c: avcodec/ac3enc: Don't overwrite AVCodecContext.ch_layout
<cone-403> ffmpeg Andreas Rheinhardt master:b3d12fe200be: avcodec/ac3enc: Remove redundant channel layout checks
<cone-403> ffmpeg Andreas Rheinhardt master:8261d5d38c93: avcodec/ac3enc: Use bit-operations for bit-mask
<cone-403> ffmpeg Andreas Rheinhardt master:e878ec7eb23f: avcodec/ac3enc: Avoid copying strings
<cone-403> ffmpeg Andreas Rheinhardt master:27a830c1d827: avcodec/ac3enc: Remove always-false sample rate check
<cone-403> ffmpeg Andreas Rheinhardt master:fee093a5703e: avcodec/ac3enc: Remove disabled code for RealAudio variant of AC-3
<cone-403> ffmpeg Andreas Rheinhardt master:6244ecf8ec6d: avcodec/ac3enc: Use common encode_frame function
<cone-403> ffmpeg Andreas Rheinhardt master:1042ee36cd3f: avcodec/ac3enc: Move ff_ac3_validate_metadate() upwards
<cone-403> ffmpeg Andreas Rheinhardt master:2fcc50d1f536: avcodec/ac3enc: Share more code between fixed/float encoders
<cone-403> ffmpeg Andreas Rheinhardt master:7311a9086eb1: avcodec/ac3enc: Deduplicate allocating buffers
<cone-403> ffmpeg Andreas Rheinhardt master:3cd136bc120a: avcodec/ac3enc: Deduplicate copying input samples
<cone-403> ffmpeg Andreas Rheinhardt master:6c55cb95ed9e: avcodec/ac3enc_float: Remove uninformative error message
<cone-403> ffmpeg Andreas Rheinhardt master:2281ab5c2444: avcodec/ac3enc: Avoid function pointers to initialize MDCT
<cone-403> ffmpeg Andreas Rheinhardt master:28ffc39808f6: avcodec/ac3enc: Move EAC-3 specific initialization to eac3enc.c
<cone-403> ffmpeg Andreas Rheinhardt master:0458fdbeeda4: avcodec/ac3enc: Avoid calculating the CRC multiple times
<cone-403> ffmpeg Andreas Rheinhardt master:1533351990ba: avcodec/flacenc: Avoid shift where possible
<cone-403> ffmpeg Andreas Rheinhardt master:497a0f839d7d: avformat/img2: Avoid relocations for ff_img_tags
<mkver> BtbN: Seems like Coverity needs a kick again.
<cone-403> ffmpeg Martin Storsjö master:e4f5c2414bb5: tests/movenc: Validate that normal muxer usage doesn't print warnings
<Daemon404> wtf they apply 14 patches?
<Daemon404> how come i feel almost none are actually neceasary
Krowl has quit [Read error: Connection reset by peer]
<Lynne> look at patch 0004
<Daemon404> yeah
<Daemon404> theres a bunch of stuff in the same vein later
<Daemon404> like disabling inline asm
staceee has quit [Read error: Connection reset by peer]
sm2n has quit [Read error: Connection reset by peer]
<wbs> I'm looking at https://github.com/microsoft/vcpkg/commit/2ca44de51706b23ca12c9eb1b2c56095927e3c16 too... the issue sounds entirely plausible, but I'm failing to find any build configuration where this issue would be present, and I'm not finding any commit where I would have fixed such an issue either
staceee has joined #ffmpeg-devel
sm2n has joined #ffmpeg-devel
sm2n has quit [Remote host closed the connection]
staceee has quit [Remote host closed the connection]
staceee has joined #ffmpeg-devel
sm2n has joined #ffmpeg-devel
<mkver> Daemon404: Where does it disable inline asm?
<mkver> wbs: Thanks. I only looked at these patches, not at the cmake file.
lexano has joined #ffmpeg-devel
<kierank> 11:56:05 <Daemon404> its in full color!
<kierank> As I understand it in India that's a big deal
darkstardevx has joined #ffmpeg-devel
darkstardevx has quit [Remote host closed the connection]
<haasn> how much processing should functions like ff_hevc_decode_nal_vps() be doing? for example, if there is a bitstream like this: infer_foo_flag : u(1); if (infer_foo_flag != 1) { foo: u(8) } is it better style to add struct HEVCVPS { uint8_t infer_foo_flag; uint8_t foo; } and handle the inference logic in some other component, or is it good style to just add the uint8_t foo and do the
<haasn> inference in-line with the parsing?
<haasn> (supposing that the inference logic only depends on the value of other signalled bitstream members)
<nevcairiel> i think we would usually do the infering there and not store the flag, unless something needs it (like vulkan for some reason needs all this shit :P)
<Lynne> don't worry, vulkan won't be needing any more, it already has all extensions hevc had
<Lynne> ...for now
<Lynne> :)
Krowl has joined #ffmpeg-devel
jamrial has joined #ffmpeg-devel
<thardin> is there a way to "un-map" streams to an output? like when using -map 0
<thardin> except throwing away say all audios streams
<jamrial> yeah -map -foo
<thardin> like -map -0:a ?
<jamrial> yeah
<JEEB> funky
<thardin> neato
BBB has quit [Remote host closed the connection]
BBB has joined #ffmpeg-devel
<Lynne> is rtmps used anywhere?
<wbs> Lynne: yes, live streaming to facebook is exclusively rtmps, iirc
<thardin> does ffmpeg not support copying streamid's?
<jamrial> is it not copied if you do -c copy?
<thardin> nope
<j-b> good morning
<thardin> defaults to 0x100 0x101 and so on
<thardin> it's not part of metadata either is seems, so -map_metadata 0 doesn't help
<thardin> streamid has its own avdictionary thing for some reason
<jamrial> thardin: there's -streamid, but it takes an argument as id, it doesn't copy from input
<thardin> yeah
<thardin> it's possible to work around by first running ffprobe and massaging its output, but annoying
<thardin> I think I might ape -copytb and friends
<jdek> wbs: using .irp within .macro with gas has issues right?
Krowl has quit [Read error: Connection reset by peer]
<wbs> jdek: no it does work in general, but you can't use \() the way you want to there
<jdek> right
<wbs> jdek: because \() gets expanded when the macro gets expanded, not when you iterate the .irp expansion
<wbs> jdek: if you can avoid needing \() it works fine. in some cases, you can have a separate macro which you invoke from within .irp, which then does the \() as needed
<jdek> ah yes, remember you mentioning it but just forgot what the exact problem was
<jdek> can just irp outside the macro for this, just a list of stub functions
<thardin> woop, my new -copystreamid works
<thardin> hmm but not with -streamid quite the way I think users would expect
<thardin> there we go
Krowl has joined #ffmpeg-devel
<jamrial> thardin: can't you extend -streamid to also copy in some form?
dykai has joined #ffmpeg-devel
dykai has quit [Client Quit]
<thardin> maybe? digging around on the web it seems just copying PIDs is a common enough question
<thardin> currently it's -streamid index:value
<thardin> I don't expect it'd be a very common usecase to want to copy from some other stream than the one that's being remuxed/transcoded. and even then you could do it manually
<thardin> -map_streamid might be a better thing then perhaps. but also so would making it proper metadata
<thardin> since you can then just -map_metadata
<jamrial> instead of map_streamid, an option is to extend streamid using specifiers so it works in a similar way
<thardin> I'll toss what I have on the ML and see what people think
<jamrial> so if you do -streamid:0 0:1, it will copy the id of the second stream from the first input into the first stream of the output
cone-403 has quit [Quit: transmission timeout]
<thardin> looks like it could maybe collide with the correct format
<thardin> -streamid 0:1 being perfectly valid
<thardin> though that would mean a format-global streamid
<jamrial> my point is that it only works if you use a specifier
<thardin> I think
<thardin> right
<jamrial> -streamid 0:1 does one thing, -streamid:0 0:1 does another. it's backwards compatible, but admitedly a tad confusing
<thardin> but then compare that to just treating it like metadata
<thardin> copytb could be likewise simplified is time_base were metadata as well, to name an example
<thardin> or not quite. but I think you get the point
<thardin> main question is if "id" is too short and generic of a key to cause a clash
<Lynne> mkver: know when you might have time to look at the aac patchset?
<Lynne> I have channel layout improvements from USAC, but I'd rather not pile them on
* Sean_McG peeks in
<mkver> Lynne: Maybe next week?
<Lynne> alright, thanks
SystemError has quit [Remote host closed the connection]
SystemError has joined #ffmpeg-devel
cone-340 has joined #ffmpeg-devel
<cone-340> ffmpeg James Almer master:662dbf826dda: avutil/frame: add helper to remove side data of a given type from an array
<cone-340> ffmpeg James Almer master:a16338089cfb: avutil/frame: add helper for adding side data w/ AVBufferRef to array
<cone-340> ffmpeg James Almer master:55621f6fae76: avutil/frame: add a flag to allow overwritting existing entries
<cone-340> ffmpeg James Almer master:adb67bba0640: avutil/version: bump minor after recent AVFrame API additions
<cone-340> ffmpeg James Almer master:6d760c666d57: avutil/mastering_display_metadata: add a new allocator function that returns a size
<cone-340> ffmpeg James Almer master:6def8e3923f8: avcodec/decode: add AVFrameSideData helper wrappers that don't depend on frames
<cone-340> ffmpeg James Almer master:6d0c89980c78: avcodec/hevcdec: export global side data in AVCodecContext
jarthur has joined #ffmpeg-devel
<Sean_McG> jamrial: ASan instance caught a leak in fate-side_data_array after these
AbleBacon has joined #ffmpeg-devel
<jamrial> Sean_McG: thanks
<cone-340> ffmpeg James Almer master:dd5f665b4010: avutil/frame: free the old side data buffer before replacing it
Krowl has quit [Read error: Connection reset by peer]
Guest8 has joined #ffmpeg-devel
<Guest8> hello
<Guest8> looking for someone to help me create channels from vod and also have epg.
<Sean_McG> this is a developer channel, for usage you want #ffmpeg
<Guest8> yes
Wenbin_Chen__ has joined #ffmpeg-devel
Wenbin_Chen_ has quit [Read error: Connection reset by peer]
Gramner has quit [Ping timeout: 246 seconds]
Guest8 has left #ffmpeg-devel [#ffmpeg-devel]
Krowl has joined #ffmpeg-devel
Gramner has joined #ffmpeg-devel
ccawley2011 has quit [Ping timeout: 256 seconds]
<tmatth> Lynne: youtube also supports rtmps
<tmatth> s/youtube/youtube live
mkver has quit [Ping timeout: 260 seconds]
mkver has joined #ffmpeg-devel
ccawley2011 has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
<thardin> jamrial: having had a bit more of a think, I might actually need to be able to copy streamid from another stream for the things I'm working on atm (:
<thardin> the use case being replacing the audio in an mpegts stream with audio from another stream, while keeping the PIDs
<thardin> still, being able to leverage the metadata syntax could be useful
cone-340 has quit [Quit: transmission timeout]
jamrial has quit [Read error: Connection reset by peer]
jamrial_ has joined #ffmpeg-devel
Livio has joined #ffmpeg-devel
jamrial_ has quit [Read error: Connection reset by peer]
<another|> can someone update the topic in #ffmpeg to 7.0 ?
<thardin> -map_metadata 0 -map_metadata:s:2 0:s:2 should be the same as -map_metadata 0 , right?
SystemError has quit [Remote host closed the connection]
SystemError has joined #ffmpeg-devel
<thardin> ah no that's only global metadata. so by default stream metadata is copied unless -map_metadata:s is used?
jamrial has joined #ffmpeg-devel
<thardin> *metadata_streams_manual = 1
<thardin> yep
<thardin> and it does it after processing -map_metadata so getting metadata automatically copied for all the other streams is a bit tricky
Raz- has quit [Ping timeout: 264 seconds]
b50d has joined #ffmpeg-devel
Krowl has joined #ffmpeg-devel
SystemError has quit [Remote host closed the connection]
SystemError has joined #ffmpeg-devel
IndecisiveTurtle has joined #ffmpeg-devel
<kierank> BBB: I have 4hrs to kill on plane, what kind of small ASM tasks could we have. Mmx to sse2? Easy v210x flavours? Anything else?
<BBB> I thought we had turned into managers and we wrote tweets instead of asm
<BBB> in terms of ffmpeg: write some avx512icl swscale, or maybe *ugh* hevc/vvc avx2 *ugh*
<BBB> that would be pretty sweet for ffmpeg
<BBB> mmx to sse2 is always good but I haven
<BBB> 't looked at how far we are so don't know where to go next
<kierank> I mean to tweet about
<kierank> As simple tasks
<kierank> Because people ask
<kierank> Your blog post is good but then people want tasks
Krowl has quit [Read error: Connection reset by peer]
jarthur_ has joined #ffmpeg-devel
<another|> go though encoder list and document which global/generic options apply to it
<another|> instead of just private options
<kierank> ASM tasks
jarthur has quit [Ping timeout: 260 seconds]
<Gramner> converting mmx to sse2 is probably a good entry-level task. it's easier than writing something completely new from scratch. just try picking something with checkasm coverage if possible
<wbs> at this point, do we have any clue about how many DSP interfaces we have that still lack checkasm coverage?
<thardin> jamrial: I'm experimenting with passing streamid via metadata and it seems to work well
<thardin> this idea could be applied to more fields than just st->id
<jamrial> neat
Livio has quit [Ping timeout: 252 seconds]
<jamrial> so you're repurposing map_metadata?
b50d has quit [Remote host closed the connection]
<thardin> jamrial: yes. and -metadata
mkver has quit [Ping timeout: 256 seconds]
<BBB> kierank: for mmx->sse2 - h264, vp8 and vp9 are the biggest abusers of mmx, and there's a handful of swscale functions also
<BBB> if you convert these, you have 90% removed, I think
<kierank> yes and there are some intra ones that are easy to start with
<BBB> I believe these all (h264/vp8/vp9) have good checkasm coverage
<BBB> so should be easy enough
<BBB> vvc also needs more checkasm tests
<BBB> sws looks like it could use more checkasm tests but I'm not 100% sure
<another|> everything needs more checkasm
<BBB> vp8/vp9/h264/hevc seem ok
<BBB> and dav1d is doing just fine thank you very much :)
SystemError has quit [Ping timeout: 260 seconds]
cone-610 has joined #ffmpeg-devel
<cone-610> ffmpeg Shiyou Yin master:f3fe2cb5f72a: swscale: [LA] Optimize range convert for yuvj420p.
<cone-610> ffmpeg Shiyou Yin master:8b76df914285: swscale: [LA] Optimize yuv2plane1_8_c.
<cone-610> ffmpeg Shiyou Yin master:2a7d622ddd03: swscale: [LA] Optimize swscale funcs in input.c
SystemError has joined #ffmpeg-devel
kurosu has quit [Quit: Connection closed for inactivity]
Traneptora has joined #ffmpeg-devel
ccawley2011 has quit [Read error: Connection reset by peer]
jamrial_ has joined #ffmpeg-devel
jamrial has quit [Read error: Connection reset by peer]
Sean_McG has quit [Quit: leaving]
Sean_McG has joined #ffmpeg-devel
IndecisiveTurtle has quit [Ping timeout: 246 seconds]
uau_ has joined #ffmpeg-devel
uau has quit [Ping timeout: 268 seconds]
<compn> wonder why youtube hasnt spent a few dimes to get some decoding/encoding optimizations . oprofile the slowest pieces of the decoders/encoders and even speeding them up 1% , over a billion videos would be a huge savings
uau_ is now known as uau