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 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
<Lynne>
I still don't get it, how does yuv420 turn into nv12 when it comes to hwaccels?
<Lynne>
ff_get_format() gets yuv420p
<BtbN>
at least nvdec simply only outputs nv12 or equivalent formats of other bit-ness
<Lynne>
okay, I understand now, sw_pix_fmt remains what the software decoder wants (yuv420) whilst the hw_frames_ctx has what the hwaccel actually outputs
minimal has quit [Quit: Leaving]
Kei_N_ has joined #ffmpeg-devel
Kei_N has quit [Ping timeout: 265 seconds]
iive has quit [Ping timeout: 265 seconds]
Guest40 has joined #ffmpeg-devel
Guest40 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
thilo has quit [Ping timeout: 252 seconds]
thilo has joined #ffmpeg-devel
Guest40_ has joined #ffmpeg-devel
Guest40_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Guest40_ has joined #ffmpeg-devel
aaabbb has quit [Changing host]
aaabbb has joined #ffmpeg-devel
Guest40_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Arcitec has quit [Remote host closed the connection]
Guest40 has joined #ffmpeg-devel
Guest40 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Guest40 has joined #ffmpeg-devel
Guest40 has quit [Client Quit]
jamrial has quit []
Guest40 has joined #ffmpeg-devel
mkver has quit [Ping timeout: 248 seconds]
c1480_ has quit [Quit: WeeChat 4.1.1]
azhn has joined #ffmpeg-devel
^Neo has quit [Ping timeout: 272 seconds]
Guest40 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
amberjojo has joined #ffmpeg-devel
amberjojo has left #ffmpeg-devel [Konversation terminated!]
Guest40 has joined #ffmpeg-devel
amberjojo has joined #ffmpeg-devel
Martchus_ has joined #ffmpeg-devel
Martchus has quit [Ping timeout: 268 seconds]
<amberjojo>
Hello Lynne, I am interested in contributing to FFmpeg and applying for GSoC.
<amberjojo>
I have read the idea list and would like to work on the "ProRes Vulkan decoder"
<amberjojo>
I have experience with OpenGL and GLSL, but I haven't worked with Vulkan before. However, I’m eager to learn. I’d appreciate any guidance on where to focus my learning.
amberjojo has quit [Quit: Konversation terminated!]
Guest40 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
zsoltiv_ has quit [Ping timeout: 252 seconds]
zsoltiv has quit [Ping timeout: 268 seconds]
Guest40 has joined #ffmpeg-devel
Guest40 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
HarshK23 has joined #ffmpeg-devel
IndecisiveTurtle has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
azhn has quit [Ping timeout: 240 seconds]
amberjojo has joined #ffmpeg-devel
System_Error has joined #ffmpeg-devel
amberjojo has quit [Client Quit]
jojo has joined #ffmpeg-devel
jojo has left #ffmpeg-devel [Konversation terminated!]
jojo has joined #ffmpeg-devel
jojo has left #ffmpeg-devel [Konversation terminated!]
amberjojo has joined #ffmpeg-devel
<compnn>
amberjojo, have you compiled ffmpeg from source yet ?
<compnn>
dumb question but we all have to start somewhere... :)
<compnn>
amberjojo, do you have a vulkan supported video card ?
<compnn>
if yes, have you attempted to use the vulkan decoder in ffmpeg ?
<compnn>
some students have to start from ring 0 , so i just ask :)
aaabbb has quit [Ping timeout: 272 seconds]
c1480 has joined #ffmpeg-devel
aaabbb has joined #ffmpeg-devel
<amberjojo>
compnn, I have not compiled from source yet. I use the ffmpeg utility for regular transcoding purposes. I do have a Vulkan supported Grpahics Card but I have not really set it up on my Linux distribution.
<compnn>
no problem, its not a requirement or anything i'm just saying get used to using it a bit to start
<compnn>
Lynne might not be available right now i dont know timezones...
<compnn>
what were you looking for ? specifications ? documentation on vulkan or ffmpeg vulkan ?
<compnn>
i guess you could start by understanding how prores works
<JEEB>
start with cloning the git repo, `mkdir -p lunix_build && cd lunix_build && path/to/ffmpeg/configure` and if that goes fine, run `make -jNUMBER` where NUMBER is for example number of cores you have
aaabbb has quit [Ping timeout: 248 seconds]
<JEEB>
on an x86_64 system the build requirements are more or less: basic toolchain (build-essential etc), nasm for hand-written assembly and a shell
<JEEB>
after that succeeds you can look into the vulkan side within FFmpeg, you will require at the very least vulkan headers >= 1.3.277 , and I would expect some sort of shader compiler (you can see that in configure ffv1_vulkan_encoder_select="vulkan spirv_compiler" , and spirv_compiler can be either glslang or shaderc)
<JEEB>
and yes, when you have got 1) the base vulkan stuff in FFmpeg and 2) the existing vulkan ffv1 encoder built, then you can look into prores etc
tanay-man has quit [Ping timeout: 248 seconds]
tanay-man has joined #ffmpeg-devel
abdu has joined #ffmpeg-devel
amberjojo has quit [Quit: Konversation terminated!]
amberjojo has joined #ffmpeg-devel
<amberjojo>
Thanks a lot compnn and JEEB, I will check it out and will get back to you by 1730 (+0530 GMT).
<compnn>
amberjojo, haha well remember we're all volunteers here so we might not be active at any time :)
<compnn>
but feel free to ask here and someone hopefully can respond
<amberjojo>
okie :>, this is my first time collaborating with international developers so I apologise in advance if I may seem too pushy or spammy
<compnn>
no you're fine :)
<amberjojo>
I will keep in mind to respect timing boundaries
<compnn>
what country are you from
<amberjojo>
Bharat, that is India
<compnn>
ah cool
<amberjojo>
wbu?
<compnn>
i'm in usa
<compnn>
but hawaii so my timezone is GMT-10
<amberjojo>
ohh it must be pretty late for you out there then
<compnn>
930pm not too bad
<amberjojo>
ahh cool
<amberjojo>
anyways, I will be logging off now and give you updates
<compnn>
ok have fun
<amberjojo>
byee
amberjojo has quit [Quit: Konversation terminated!]
amberjojo has joined #ffmpeg-devel
<amberjojo>
compnn, sorry for barging in once again, but could you please reshare the links given before? I am new to using IRC Clients and have deleted the chat history on the new login
<compnn>
did you write down the info from JEEB about libraries
<compnn>
i can paste it if you need it
<amberjojo>
I did not
<compnn>
<JEEB> start with cloning the git repo, `mkdir -p lunix_build && cd lunix_build && path/to/ffmpeg/configure` and if that goes fine, run `make -jNUMBER` where NUMBER is for example number of cores you have
<compnn>
* aaabbb has quit (Ping timeout: 248 seconds)
<compnn>
<JEEB> on an x86_64 system the build requirements are more or less: basic toolchain (build-essential etc), nasm for hand-written assembly and a shell
<compnn>
<JEEB> after that succeeds you can look into the vulkan side within FFmpeg, you will require at the very least vulkan headers >= 1.3.277 , and I would expect some sort of shader compiler (you can see that in configure ffv1_vulkan_encoder_select="vulkan spirv_compiler" , and spirv_compiler can be either glslang or shaderc)
<compnn>
<JEEB> and yes, when you have got 1) the base vulkan stuff in FFmpeg and 2) the existing vulkan ffv1 encoder built, then you can look into prores etc
<amberjojo>
Thank you very much compnn
<compnn>
no worries :)
<amberjojo>
I will set up persistence so that this does not happen again.
amberjojo has left #ffmpeg-devel [#ffmpeg-devel]
kasper93_ has joined #ffmpeg-devel
kasper93 has quit [Ping timeout: 244 seconds]
abdu has quit [Ping timeout: 240 seconds]
aaabbb has joined #ffmpeg-devel
abdu has joined #ffmpeg-devel
abdu71 has joined #ffmpeg-devel
abdu has quit [Ping timeout: 240 seconds]
aaabbb has quit [Ping timeout: 252 seconds]
rvalue has quit [Read error: Connection reset by peer]
<amberjojo>
compnn, I compiled ffmpeg from source and also went through the wiki page of the Apple ProRes, I did not understand the extreme specifics but I have gained a basic idea of what to do for the project, i.e. to decode the media stream
<JEEB>
I thought it's an encoder project?
<JEEB>
oh, decoder
<JEEB>
ok
jamrial has joined #ffmpeg-devel
<ramiro>
haasn: can you share your current work in progress? I'm curious to see how you'll deal with simple unscaled converters. how does it compare in speed with our current handwritten assembly?
^Neo has joined #ffmpeg-devel
^Neo has joined #ffmpeg-devel
<Lynne>
amberjojo: there's another student with a bit more experience currently looking into that project
<amberjojo>
Lynne should I look into another project then? Or keep working on this one?
<Lynne>
I'd recommend looking into something else for now
<amberjojo>
Alright
<amberjojo>
Thank you for your time
amberjojo has left #ffmpeg-devel [Konversation terminated!]
cone-219 has joined #ffmpeg-devel
<cone-219>
ffmpeg Krzysztof Pyrkosz via ffmpeg-devel master:9993a64d7bcd: avutil/aarch64/tx_float_neon.S: clean up FFT4_X2
<haasn>
I have some wip optimizations that broke some formats
<haasn>
still need to look into that
<haasn>
but it should mostly reflect the overall idea
<haasn>
I also want to refactor the way dithering is handled, and also the way unused components are represented across the board
<haasn>
it also currently only compiles for AVX2, need to add a line for NEON etc before merging as well
<haasn>
speed wise it's something like 1.8x faster across the board atm
<haasn>
but not all paths are implemented, notably no scaling atm
<haasn>
so no 420 -> 444 conversions for example
<haasn>
I have a few ideas on how to deal with scaling but I want to implement the groundwork first
<haasn>
and that can at least replace the majority of our unscaled converters
<fflogger>
[newticket] sven09: Ticket #11488 ([undetermined] Voice Recording on Mac M3 with Opus has stutter / cracks) created https://trac.ffmpeg.org/ticket/11488
<haasn>
One thing I want to do is try and push swizzles through the pipeline during the optimization pass
<haasn>
So that e.g bgr24 -> gbrp12 doesn’t end up swizzling twice
<haasn>
And then ultimately it would be nice if swizzles could turn into noops for planar i/o ops
<haasn>
By just swapping the pointers directly
minimal has quit [Quit: Leaving]
SohamK89 has joined #ffmpeg-devel
SohamK has quit [Ping timeout: 240 seconds]
<Lynne>
do you still have the compiler super magic simd templating of the far future?
<mkver>
michaelni: Do you intend to take a closer look at the mpegvideo patches?
<haasn>
Lynne: still not sure what you mean
<haasn>
I use templates to cover multiple cases, bit depths, etc
<haasn>
there's no SIMD in my code
SohamK has quit [Ping timeout: 240 seconds]
<Lynne>
didn't you use it for optimizations too by compiling the template with -mavx2?
SohamK has joined #ffmpeg-devel
ccawley2011 has joined #ffmpeg-devel
ccawley2011 has quit [Ping timeout: 244 seconds]
<haasn>
sure, but that's just one extra line in the makefile
<Lynne>
yes, but it cuts into the work of those wanting to properly write SIMD
SohamK has quit [Quit: Client closed]
SohamK has joined #ffmpeg-devel
SohamK30 has joined #ffmpeg-devel
SohamK has quit [Ping timeout: 240 seconds]
ccawley2011 has joined #ffmpeg-devel
abdu12 has joined #ffmpeg-devel
abdu has quit [Ping timeout: 240 seconds]
SohamK has joined #ffmpeg-devel
<BBB>
HTMLdoc/ffmpeg.html
<BBB>
do "src/doc/t2h.pm" failed, '.' is no longer in @INC; did you mean do "./src/doc/t2h.pm"? at /opt/local/share/texi2any/Texinfo/Config.pm line 162.
<BBB>
I'm getting that on 7.0
<mkver>
michaelni: Do you still know where exactly the issue was in 7acee6654ccdbadea62e700970f789478febaa0c? I don't see any (then or current) users running into issues that your patch would fix. The worst I see could happen in mdec.c where a potentially out-of-bounds index is used to read from a scantable and whose result is used as an index to read from ff_mpeg1_default_intra_matrix. But this issue has been fixed in 161442ff2c4b0dd8a5072c6bbe6bf55303fffccf.
SohamK30 has quit [Quit: Client closed]
<michaelni>
mkver, its 13 years ago. i dont remember where exactly the code where that 7acee6654ccdbadea62e700970f789478febaa0c fixed.
<michaelni>
it was probably related to avoiding some checks in a speed relevant loop
<mkver>
That's what I expected; but I just don't see that loop.
SohamK has quit [Quit: Client closed]
abdu12 has quit [Ping timeout: 240 seconds]
SohamK has joined #ffmpeg-devel
ccawley2011_ has joined #ffmpeg-devel
ccawley2011__ has joined #ffmpeg-devel
<michaelni>
mkver, 161442ff2c4b0dd8a5072c6bbe6bf55303fffccf is 3 years after 7acee6654ccdbadea62e700970f789478febaa0c so it could be the same issue
<mkver>
yes, this would mean that ff_mpeg1_default_intra_matrix could be shrinked again. That's why I'm asking.
ccawley2011 has quit [Ping timeout: 272 seconds]
<michaelni>
thats then the best fitting explanation
ccawley2011_ has quit [Ping timeout: 252 seconds]
SohamK has quit [Quit: Client closed]
ccawley2011__ has quit [Ping timeout: 248 seconds]
sdc has joined #ffmpeg-devel
SohamK has joined #ffmpeg-devel
<jamrial>
michaelni: are you aware of any of my recent fixes that i didn't backport?
<BtbN>
JEEB: how does that method of sharing a non-public function between libraries actually work?
<jamrial>
most affected master branch only, but some weren't
<jamrial>
i'm mainly interested in 5.1 and 7.1 as those are the LTS afaik
SohamK has quit [Quit: Client closed]
SohamK has joined #ffmpeg-devel
<JEEB>
BtbN: using SHLIBOBJS to bring in things duplicated from other libraries (usually by means of inclusion or so) into that library
<BtbN>
that sounds annoying to deal with
<BtbN>
I'd be more inclined to just duplicate the code a third time :/
<JEEB>
it shouldn't really be annoying. avcodec, avfilter and avformat already do that (`Objects duplicated from other libraries for shared builds`)
<JEEB>
7c338f470f869978efa3ec161c5f28fa83840c00 seems to be the most recent addition of such usage