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.1 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
IndecisiveTurtle has joined #ffmpeg-devel
thilo_ has quit [Ping timeout: 268 seconds]
thilo_ has joined #ffmpeg-devel
iive has quit [Quit: They came for me...]
IndecisiveTurtle has quit [Ping timeout: 268 seconds]
System_Error has quit [Remote host closed the connection]
Livio has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
<pal>
pa;
<pal>
pastebin
AbleBacon has quit [Read error: Connection reset by peer]
Traneptora has joined #ffmpeg-devel
cone-839 has joined #ffmpeg-devel
<cone-839>
ffmpeg Rémi Denis-Courmont master:daac101e6169: lavc/aacencdsp: fix rounding in R-V V quantize_bands
Livio has quit [Ping timeout: 264 seconds]
<cone-839>
ffmpeg Andreas Rheinhardt master:dd8fb0aaaeb9: avcodec/hevc/Makefile: Move rules for lavc/* files to lavc/Makefile
<cone-839>
ffmpeg Andreas Rheinhardt master:52fb49a8a317: avformat/vvc: Use put_bytes_output()
<cone-839>
ffmpeg Andreas Rheinhardt master:4482b3353d07: avformat/vvc: Don't use ff_copy_bits()
<cone-839>
ffmpeg Andreas Rheinhardt master:8b6c7e7cda69: avformat/vvc: Fix crash on allocation failure, avoid allocations
<cone-839>
ffmpeg Andreas Rheinhardt master:fa77dc8c44d1: avformat/vvc: Reindent after the previous commit
<cone-839>
ffmpeg Andreas Rheinhardt master:1c4362cce948: avformat/vvc: Fix comment
<cone-839>
ffmpeg Andreas Rheinhardt master:5f31a4fd1613: avformat/vvc: Don't use uint8_t iterators, fix shadowing
<cone-839>
ffmpeg Andreas Rheinhardt master:8f199cfb5bb6: avformat/evc: Fix format specifiers
<cone-839>
ffmpeg Andreas Rheinhardt master:542abee213bf: avcodec/cbs_h266_syntax_template: Use correct format specifier
<cone-839>
ffmpeg Andreas Rheinhardt master:b0e0b3c58ac0: avcodec/dnxhdenc: Move PutBitContext from ctx to stack
<cone-839>
ffmpeg Andreas Rheinhardt master:3af613666903: avcodec/dnxhdenc: Simplify padding
mateo` has quit [Ping timeout: 256 seconds]
Livio has joined #ffmpeg-devel
mateo` has joined #ffmpeg-devel
System_Error has joined #ffmpeg-devel
___nick___ has joined #ffmpeg-devel
kepstin has quit [Remote host closed the connection]
kepstin has joined #ffmpeg-devel
IndecisiveTurtle has joined #ffmpeg-devel
Livio has quit [Ping timeout: 264 seconds]
<IndecisiveTurtle>
Lynne: I've been trying to debug an error for the past few days an I need some help. Wanted to test the haar compute shader basically as a startbut keep getting "Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scale_0'".
<IndecisiveTurtle>
This started happening after setting .p.pix_fmts in the FFCodec to AV_PIX_FMT_VULKAN (also have the AV_CODEC_CAP_HARDWARE flag). From what I saw, the CLI will launch an decoder threadthat reads the source file (in my case an avi file) and then sends it to the filter thread which seems to build the filter graph, and then that sends data to the encoder thread.
<cone-839>
ffmpeg Andreas Rheinhardt master:fca796ac3bab: tests/checkasm/sw_rgb: Be more strict about clobbering MMX state
<cone-839>
ffmpeg Andreas Rheinhardt master:f7305eb3b3e8: swscale/x86/rgb2rgb_template: Remove unnecessary SFENCE
<cone-839>
ffmpeg Andreas Rheinhardt master:c1c35380a7de: swscale/x86/rgb2rgb: Don't unnecessarily check for inline ASM
<cone-839>
ffmpeg Andreas Rheinhardt master:5421dee0e7e0: swscale/x86/rgb2rgb_template: Remove unused uyvytoyv12
<cone-839>
ffmpeg Andreas Rheinhardt master:8b62fb231a78: swscale/x86/rgb2rgb: Detemplatize
<frankplow>
For interleaved content, VVC's conformance suite takes the hash of weaved decoded content - am I right in thinking this is silly? That weaving process isn't in the standard anywhere and specific handling for interlaced content hasn't been needed since H.264 yet you have to support it by the looks of it
<frankplow>
Related (more of a usage question but while on the topic) is there an easy way with the CLI to only apply the weave filter if a flag is set in the SEI?
jkhsjdhjs_ has joined #ffmpeg-devel
jkhsjdhjs has quit [Ping timeout: 268 seconds]
jkhsjdhjs_ is now known as jkhsjdhjs
kekePower has quit [Read error: Connection reset by peer]
kekePower has joined #ffmpeg-devel
<BBB>
frankplow: assuming this is ffmpeg, all output is assumed to be frames (not fields)
<BBB>
so it's just a ffmpeg thing
<courmisch>
Lynne: are you sure there's Atmega code anywhere? I only see AVR32, not plain AVR
<Lynne>
IndecisiveTurtle: -init_hw_device "vulkan=vk:0" before -i
<Lynne>
courmisch: isn't that the same?
<courmisch>
Lynne: no, it's not
<courmisch>
src/tests/checkasm/h264chroma.c:54:18: warning: ‘size’ is used uninitialized [-Wuninitialized]
<Lynne>
oh, right, you have to upload it, add -vf hwupload just before -c:v vc2_vulkan
<Lynne>
make sure the input is yuv444p or whatever you're expecting, if not, use format=yuv444p,hwupload
<IndecisiveTurtle>
For input I took a random video and converted it to raw
<IndecisiveTurtle>
Is this ok? ./ffmpeg -init_hw_device vulkan=vk:0 -i well.avi -vf format=yuv444p,hwupload -c:v vc2_vulkan well.vc2
<IndecisiveTurtle>
The same video works okay with the cpu vc2 encoder, I tested it
<Lynne>
yup, you might want to add -y before well.vc2 to avoid having to delete it before each run
<IndecisiveTurtle>
Got another variant of the same error now "Impossible to convert between the formats supported by the filter 'Parsed_format_0' and the filter 'auto_scale_1'"
<IndecisiveTurtle>
It does seem to recognize the codec Stream #0:0 -> #0:0 (rawvideo (native) -> dirac (vc2_vulkan))
<IndecisiveTurtle>
Note I should specify I'm testing this on WSL2 dzn driver
<IndecisiveTurtle>
Building on MSYS2 was way too slow. But I can try switching back that if ffmpeg doesn't support dzn
<Lynne>
if vulkan filters work, it should work
<Lynne>
try adding -filter_hw_device vulkan before -vf
<JEEB>
also just a protip when dealing with hw pix_fmts, -noauto_conversion_filters
Krowl has joined #ffmpeg-devel
<JEEB>
so that you don't get random errors due to scale filter or aresample filter being inserted (scale filter can't convert from/to hw pix_fmts)
<JEEB>
since that error for example sounds like you had something inserted between your format and hwupload for whatever reason
<JEEB>
of course it means that instead of just `format=xyz` you need to add scale just before, since the format filter essentially configures the output requirements for the previous filter
<JEEB>
(and you got something auto-inserted, these auto-insertions are logged if your log level is at least `-v verbose`
<JEEB>
(which is also the last log level that is not spammy)
IndecisiveTurtle has quit [Ping timeout: 255 seconds]
<IndecisiveTurtle>
[Parsed_format_0 @ 0x7f1b700030c0] auto-inserting filter 'auto_scale_0' between the filter 'graph -1 input from stream 0:0' and the filter 'Parsed_format_0'
<IndecisiveTurtle>
[Parsed_hwupload_1 @ 0x7f1b70003300] auto-inserting filter 'auto_scale_1' between the filter 'Parsed_format_0' and the filter 'Parsed_hwupload_1'
<IndecisiveTurtle>
And then the error happens
<IndecisiveTurtle>
Adding "-noauto_conversion_filters" results in a different error
<IndecisiveTurtle>
"The filters 'graph -1 input from stream 0:0' and 'Parsed_format_0' do not have a common format and automatic conversion is disabled."
<IndecisiveTurtle>
Which makes sense though
<jkqxz>
That probably means that the Vulkan hwcontext doesn't think yuv444p is supported?
<jkqxz>
hwupload advertises all input formats that the hwcontext says it can transfer to the device, so it thinking there needs to be a conversion there suggests the device hasn't said it does that.
<Lynne>
try format=nv12 first, just in case
<IndecisiveTurtle>
Is support for a certain fomat something that ffmpeg implements or up to the vulkan driver?
<Lynne>
the driver
<IndecisiveTurtle>
Cause I imagine it all boils down to a vkCmdCopyBufferToImage in the end
<Lynne>
just try it
<IndecisiveTurtle>
Trying it yeah
<Lynne>
and consider not using windows
<courmisch>
ramiro: This is admittedly inactionable feedback but my UV range conversion funcs are passing your checkasm but failing FATE
<courmisch>
ramiro: so I suspect checkasm isn't strict enough
<jkqxz>
To check what formats it thinks will work I would look at what happened in this loop: <http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavutil/hwcontext_vulkan.c;h=e2f92af22744f5e5f7e9bbf24220299c07235aca;hb=HEAD#l1710>.
<IndecisiveTurtle>
I'm gonna switch to linux again soon, was forced to install windows11 and it's awful, feels so slow :<
<IndecisiveTurtle>
My total cli "./ffmpeg -v verbose -init_hw_device vulkan=vk:0 -i well.avi -filter_hw_device vk -vf format=yuv444p,hwupload,format=nv12 -c:v vc2_vulkan -y well.vc2"
<IndecisiveTurtle>
Same error "Impossible to convert between the formats supported by the filter 'Parsed_format_0' and the filter 'auto_scale_1'"
<IndecisiveTurtle>
Oh I see the mistake derp
<IndecisiveTurtle>
Let me retry
<IndecisiveTurtle>
Ah sad, removing format=yuv444p doesn't do anything
<IndecisiveTurtle>
I will try on msys2, if it doesn't work there then I guess I will reinstall linux
<Lynne>
format=nv12,hwupload is what you should try
<IndecisiveTurtle>
Is that - in the end something I was supposed to replace?
<JEEB>
"-" gets translated into "pipe:" by the tool
<JEEB>
so it's fine
<Lynne>
-f null - is just a useful idiom for "don't do anything with the output"
Krowl has quit [Read error: Connection reset by peer]
<IndecisiveTurtle>
Ah ok, I see
<IndecisiveTurtle>
Now trying on msys2 again to rule out driver errors
<courmisch>
ramiro: bah, it only fails on QEMU, not real hardware, so :shrug:
cone-857 has joined #ffmpeg-devel
<cone-857>
ffmpeg Rémi Denis-Courmont master:e2f069905e76: sws/input: R-V V 32-bit RGB to UV
<cone-857>
ffmpeg Rémi Denis-Courmont master:f5555cb106a1: sws/input: R-V V 32-bit RGB to Y
<cone-857>
ffmpeg Rémi Denis-Courmont master:7a3369398f8b: sws/input: R-V V 32-bit RGB to halved UV
<IndecisiveTurtle>
Oh nice, looks like it works on msys2. Thanks for the help and sorry for the time waste :<
tufei has quit [Remote host closed the connection]
tufei has joined #ffmpeg-devel
<pal>
who would be knowledgeable about the fate-vvc tests?
<pal>
`make fate-vvc -j24` fails on fate-vvc-conformance-SUBPIC_A_3, but `make fate-vvc` does not
<jamrial>
that shouldn't make a difference. it's just extra jobs, not extra threads on that one specific test
<pal>
the error emitted is "[tests/Makefile:310: fate-vvc-conformance-APSLMCS_D_1] Error 137"
mkver has joined #ffmpeg-devel
<pal>
this is with `--toolchain=valgrind-memcheck`.
<pal>
jamrial: do some tests depend on the output of others?
<jamrial>
don't think so
<pal>
can you reproduce the issue on your system?
<pal>
just curious if it is a me problem
<jamrial>
can't test right now
<pal>
thanks
<mkver>
pal: Some tests use files generated by other tests as input files. These tests have a dependency on the other test.
<mkver>
The error is not helpful, the actual error output (the .err file) is.
<frankplow>
I think all the VVC FATE tests are standalone
<jkqxz>
137 suggests SIGKILL; maybe you ran out of memory?
theofabi has joined #ffmpeg-devel
theofabi has quit [Changing host]
theofabi has joined #ffmpeg-devel
___nick___ has quit [Read error: Connection reset by peer]
___nick___ has joined #ffmpeg-devel
mkver has quit [Ping timeout: 268 seconds]
b50d has joined #ffmpeg-devel
IndecisiveTurtle has quit [Remote host closed the connection]
<Sean_McG>
can I still go ahead and do a proper attempt at removing Alpha? I wasn't sure since some of the other pieces I had sent courmisch did instead
<Sean_McG>
(not mad or upset about this, just to be clear -- I just don't want to duplicate effort)
<pal>
jkqxz: oh. maybe. not sure how I would check that?
<Sean_McG>
if it did run out of memory, I'd hope that there would be error text to that effect
<BtbN>
the error will only appear in dmesg
<BtbN>
the process will just get killed
<Sean_McG>
oh... yeah, that
Krowl has joined #ffmpeg-devel
<Sean_McG>
is there a way for me to exclude the VVC test suite (other than disabling VVC wholesale) on my PPC FATE nodes? I seriously doubt anyone would use it on a platform that old
<Sean_McG>
... I think I just answered my own question.
<cone-857>
ffmpeg James Almer master:91b9af005864: x86/aacencdsp: add AVX version of quantize_bands
<cone-857>
ffmpeg James Almer master:6743c2fc6a2f: checkasm/sw_rgb: test rgb32/rgb32_1 to yuv
<cone-857>
ffmpeg James Almer master:d5fe99dc5f06: swscale/x86/input: add AVX2 optimized RGB24 to YUV functions
<cone-857>
ffmpeg James Almer master:e9cfd532579c: swscale/x86/input: add AVX2 optimized RGB32 to YUV functions
<cone-857>
ffmpeg James Almer master:c578bb9864de: swscale/x86/input: add AVX2 optimized uyvytoyuv422
<cone-857>
ffmpeg James Almer master:e8cef5e1529b: swscale/x86/rgb2rgb: remove mmxext version of shuffle_bytes_2103
<cone-857>
ffmpeg James Almer master:287d139b779d: checkasm/sw_rgb: fix alignment of buffers for rgb_to_yuv tests
<pal>
ah... yes, out of memory from dmesg. forgot I had set a VM limit. thanks for the quick pointer!
<frankplow>
Can someone upload a FATE sample for me? There's samples-request but IIRC you're better off asking here?
Krowl has quit [Read error: Connection reset by peer]
<jamrial>
frankplow: i can
<kasper93>
is this expected `src/libswscale/x86/rgb2rgb.c:2438:24: error: ‘ff_uyvytoyuv422_avx2’ undeclared (first use in this function)` ?
<frankplow>
kasper93: Are you trying to compile with AddressSanitizer?
<kasper93>
no, normal 32bit cross. ff_uyvytoyuv422_avx2 is declared inside #if ARCH_X86_64, but the use is not guarded
<courmisch>
kasper93: this totally does not look like it could becaused by jamrial's last push
<jamrial>
let me check
<kasper93>
thanks
<courmisch>
(French proverb: Only He who does nothing breaks nothing.)
<courmisch>
386 is dead anyway
<kasper93>
true, but we have it on ci ¯\_(ツ)_/¯
<frankplow>
courmisch: It's funny that the closest common English proverb that comes to mind is "you can't make an omelette without breaking a few eggs." It's obviously a very French thought.
<courmisch>
frankplow: yeah, that's the most idiomatic translation, but it's also a little different idea, I think
<frankplow>
Yes a touch more sinister I think
<cone-857>
ffmpeg James Almer master:03546f49a3ff: swscale/x86/rgb2rgb: add missing wrap for ff_uyvytoyuv422_avx2
<courmisch>
the French proverb is specifically meant to excuse making mistakes
<courmisch>
while the English proverb looks like a reflection on the inavoidability of negative externalities
<cone-857>
ffmpeg James Almer master:17c3cc5bb60f: swscale/x86/rgb_2_rgb: add missing wrap to ff_uyvytoyuv422_avx2
<jamrial>
guess quant_bands is not 256bit vector ready as is after all
<courmisch>
actually 256-bit it almost doubles perf gain over scalar compared to 128-bit here
<jamrial>
if not alignment, maybe i'm overreading?
<courmisch>
the checkasm test does not enforce misalignment, so maybe it accidentally aligns to 32 bytes?
<jamrial>
doesn't crash on windows, though
<courmisch>
we should really have custom alignment macros on checkasm that force misalignment above the requested alignment, instead of hand-coding it everytime
<courmisch>
could Windows be trapping and emulating misaligned loads and stores?
<Sean_McG>
Google is now not letting me send patches with git send-email
* Sean_McG
screams
<Sean_McG>
courmisch: would not surprise me -- but if it is I bet it can be turned off as well