[FFmpeg-user] Question about -noauto_conversion_filters
Michael Koch
astroelectronic at t-online.de
Sun Sep 13 21:18:39 EEST 2020
Hello all,
I'm just testing the new -noauto_conversion_filters option.
As the first step, I'm running this command line (without the new option):
ffmpeg -v verbose -f lavfi -i testsrc2=s=svga:d=5,format=yuv422p10le -vf
lut3d="VLog_to_V709.cube" -pix_fmt yuv422p10le -c:v h264 -y out.mov
This is running fine and here is the console output:
C:\Users\astro\Desktop\Format_Test>c:\ffmpeg2\ffmpeg -v verbose -f lavfi
-i testsrc2=s=svga:d=5,format=yuv422p10le -vf lut3d="VLog_to_V709.cube"
-pix_fmt yuv422p10le -c:v h264 -y out.mov
ffmpeg version N-99135-gaa8935b395-2020-09-13-gyan-beta2 Copyright (c)
2000-2020 the FFmpeg developers
built with gcc 10.2.0 (Rev1, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-fontconfig --enable-gnutls --enable-iconv --enable-libdav1d
--enable-libbluray --enable-libfreetype --enable-libmp3lame
--enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-libshine
--enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora
--enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp
--enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg
--enable-lzma --enable-zlib --enable-gmp --enable-libvidstab
--enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc
--enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom
--enable-libgsm --enable-librav1e --enable-libsvtav1 --enable-avisynth
--enable-libopenmpt --enable-chromaprint --enable-frei0r
--enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite
--enable-libfribidi --enable-libgme --enable-libilbc --enable-libmodplug
--enable-librubberband --enable-libssh --enable-libzmq --enable-libzvbi
--enable-ladspa --enable-libglslang --enable-vulkan --disable-w32threads
--disable-autodetect --enable-libmfx --enable-ffnvcodec
--enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc
--enable-nvdec --enable-dxva2 --enable-amf --enable-static
libavutil 56. 58.100 / 56. 58.100
libavcodec 58.106.100 / 58.106.100
libavformat 58. 54.100 / 58. 54.100
libavdevice 58. 11.101 / 58. 11.101
libavfilter 7. 87.100 / 7. 87.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100
[Parsed_testsrc2_0 @ 0000017dee1d1e80] size:800x600 rate:25/1
duration:5.000000 sar:1/1
Input #0, lavfi, from 'testsrc2=s=svga:d=5,format=yuv422p10le':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo, 1 reference frame (Y3[10][10] /
0xA0A3359), yuv422p10le, 800x600 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Matched encoder 'libx264' for codec 'h264'.
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0000017df0369580] w:800 h:600
pixfmt:yuv422p10le tb:1/25 fr:25/1 sar:1/1
[auto_scaler_0 @ 0000017dee220180] w:iw h:ih flags:'bicubic' interl:0
[Parsed_lut3d_0 @ 0000017dee2a7540] auto-inserting filter
'auto_scaler_0' between the filter 'graph 0 input from stream 0:0' and
the filter 'Parsed_lut3d_0'
[auto_scaler_1 @ 0000017dee220280] w:iw h:ih flags:'bicubic' interl:0
[format @ 0000017dee21f880] auto-inserting filter 'auto_scaler_1'
between the filter 'Parsed_lut3d_0' and the filter 'format'
[auto_scaler_0 @ 0000017dee220180] w:800 h:600 fmt:yuv422p10le sar:1/1
-> w:800 h:600 fmt:rgb48le sar:1/1 flags:0x4
[auto_scaler_1 @ 0000017dee220280] w:800 h:600 fmt:rgb48le sar:1/1 ->
w:800 h:600 fmt:yuv422p10le sar:1/1 flags:0x4
[libx264 @ 0000017dee1d8300] using SAR=1/1
[libx264 @ 0000017dee1d8300] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0000017dee1d8300] profile High 4:2:2, level 3.1, 4:2:2, 10-bit
[libx264 @ 0000017dee1d8300] 264 - core 161 r3018 db0d417 - H.264/MPEG-4
AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html -
options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7
psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1
8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2
threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1
interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2
b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250
keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf
mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=81 qpstep=4 ip_ratio=1.40
aq=1:1.00
Output #0, mov, to 'out.mov':
Metadata:
encoder : Lavf58.54.100
Stream #0:0: Video: h264 (libx264), 1 reference frame (avc1 /
0x31637661), yuv422p10le, 800x600 [SAR 1:1 DAR 4:3], q=-1--1, 25 fps,
12800 tbn, 25 tbc
Metadata:
encoder : Lavc58.106.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
No more output streams to write to, finishing.e=00:00:01.72
bitrate=2438.6kbits/s speed=1.12x
Not writing 'clli' atom. No content light level info.
Not writing 'mdcv' atom. Missing mastering metadata.
frame= 125 fps= 61 q=-1.0 Lsize= 1407kB time=00:00:04.88
bitrate=2362.4kbits/s speed=2.38x
video:1405kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.155475%
Input file #0 (testsrc2=s=svga:d=5,format=yuv422p10le):
Input stream #0:0 (video): 125 packets read (240000000 bytes); 125
frames decoded;
Total: 125 packets (240000000 bytes) demuxed
Output file #0 (out.mov):
Output stream #0:0 (video): 125 frames encoded; 125 packets muxed
(1438821 bytes);
Total: 125 packets (1438821 bytes) muxed
[AVIOContext @ 0000017dee21b500] Statistics: 2 seeks, 9 writeouts
[libx264 @ 0000017dee1d8300] frame I:1 Avg QP:26.70 size: 19889
[libx264 @ 0000017dee1d8300] frame P:39 Avg QP:37.26 size: 14092
[libx264 @ 0000017dee1d8300] frame B:85 Avg QP:41.24 size: 10220
[libx264 @ 0000017dee1d8300] consecutive B-frames: 2.4% 11.2% 28.8% 57.6%
[libx264 @ 0000017dee1d8300] mb I I16..4: 45.0% 43.1% 11.9%
[libx264 @ 0000017dee1d8300] mb P I16..4: 1.3% 6.5% 1.9% P16..4:
8.4% 3.3% 3.2% 0.0% 0.0% skip:75.4%
[libx264 @ 0000017dee1d8300] mb B I16..4: 0.2% 0.1% 0.4% B16..8:
11.8% 3.2% 1.8% direct: 1.3% skip:81.2% L0:47.7% L1:36.9% BI:15.4%
[libx264 @ 0000017dee1d8300] 8x8 transform intra:57.3% inter:8.5%
[libx264 @ 0000017dee1d8300] coded y,uvDC,uvAC intra: 14.9% 29.3% 27.6%
inter: 4.9% 8.4% 7.4%
[libx264 @ 0000017dee1d8300] i16 v,h,dc,p: 79% 19% 2% 0%
[libx264 @ 0000017dee1d8300] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 9% 75%
0% 0% 0% 1% 0% 1%
[libx264 @ 0000017dee1d8300] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 14% 46%
2% 1% 1% 5% 1% 5%
[libx264 @ 0000017dee1d8300] i8c dc,h,v,p: 72% 10% 16% 2%
[libx264 @ 0000017dee1d8300] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0000017dee1d8300] ref P L0: 51.7% 25.6% 22.7%
[libx264 @ 0000017dee1d8300] ref B L0: 72.2% 22.2% 5.7%
[libx264 @ 0000017dee1d8300] ref B L1: 93.9% 6.1%
[libx264 @ 0000017dee1d8300] kb/s:2301.01
It seems that ffmpeg did auto-insert two format conversions:
Before the lut3d filter from yuv422p10le to rgb48le,
and after the lut3d filter from rgb48le to yuv422p10le.
Now I want to use the -noauto_conversion_filters option and insert the
two format conversions manually in the filter chain:
ffmpeg -v verbose -f lavfi -i testsrc2=s=svga:d=5,format=yuv422p10le -vf
format=rgb48le,lut3d="VLog_to_V709.cube",format=yuv422p10le
-noauto_conversion_filters -pix_fmt yuv422p10le -c:v h264 -y out.mov
But this doesn't work. It seems there is a mismatch between the input
format (yuv422p10le) and the input format of the first filter. Here is
the console output:
C:\Users\astro\Desktop\Format_Test>c:\ffmpeg2\ffmpeg -v verbose -f lavfi
-i testsrc2=s=svga:d=5,format=yuv422p10le -vf
format=rgb48le,lut3d="VLog_to_V709.cube",format=yuv422p10le
-noauto_conversion_filters -pix_fmt yuv422p10le -c:v h264 -y out.mov
ffmpeg version N-99135-gaa8935b395-2020-09-13-gyan-beta2 Copyright (c)
2000-2020 the FFmpeg developers
built with gcc 10.2.0 (Rev1, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-fontconfig --enable-gnutls --enable-iconv --enable-libdav1d
--enable-libbluray --enable-libfreetype --enable-libmp3lame
--enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-libshine
--enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora
--enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp
--enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg
--enable-lzma --enable-zlib --enable-gmp --enable-libvidstab
--enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc
--enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom
--enable-libgsm --enable-librav1e --enable-libsvtav1 --enable-avisynth
--enable-libopenmpt --enable-chromaprint --enable-frei0r
--enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite
--enable-libfribidi --enable-libgme --enable-libilbc --enable-libmodplug
--enable-librubberband --enable-libssh --enable-libzmq --enable-libzvbi
--enable-ladspa --enable-libglslang --enable-vulkan --disable-w32threads
--disable-autodetect --enable-libmfx --enable-ffnvcodec
--enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc
--enable-nvdec --enable-dxva2 --enable-amf --enable-static
libavutil 56. 58.100 / 56. 58.100
libavcodec 58.106.100 / 58.106.100
libavformat 58. 54.100 / 58. 54.100
libavdevice 58. 11.101 / 58. 11.101
libavfilter 7. 87.100 / 7. 87.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100
[Parsed_testsrc2_0 @ 00000246e3d11cc0] size:800x600 rate:25/1
duration:5.000000 sar:1/1
Input #0, lavfi, from 'testsrc2=s=svga:d=5,format=yuv422p10le':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo, 1 reference frame (Y3[10][10] /
0xA0A3359), yuv422p10le, 800x600 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Matched encoder 'libx264' for codec 'h264'.
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 00000246e3d60a40] w:800 h:600
pixfmt:yuv422p10le tb:1/25 fr:25/1 sar:1/1
The filters 'graph 0 input from stream 0:0' and 'Parsed_format_0' do not
have a common format and automatic conversion is disabled.
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0
[AVIOContext @ 00000246e3d166c0] Statistics: 0 seeks, 0 writeouts
Conversion failed!
What's wrong with my command line?
Michael
More information about the ffmpeg-user
mailing list