[FFmpeg-trac] #10835(avfilter:new): When using ppsrc=1 in fieldmatch filter and 10bit video is 420, 422, processing does not proceed.

FFmpeg trac at avcodec.org
Wed Jan 31 13:23:15 EET 2024


#10835: When using ppsrc=1 in fieldmatch filter and 10bit video is 420, 422,
processing does not proceed.
----------------------------------+--------------------------------------
             Reporter:  nicol     |                     Type:  defect
               Status:  new       |                 Priority:  normal
            Component:  avfilter  |                  Version:  git-master
             Keywords:            |               Blocked By:
             Blocking:            |  Reproduced by developer:  0
Analyzed by developer:  0         |
----------------------------------+--------------------------------------
 Summary of the bug: When inverse telecine with combmatch=full in the
 fieldmatch filter, the video is not output when the chroma subsample is
 yuv420p10le, yuv422p10le, but when yuv444p10le, the video is output.
 How to reproduce:
 {{{
 % ffmpeg -v 9 -loglevel 99 -f lavfi -i
 testsrc2=s=1920x1080:d=1:r=24000/1001,format=yuv422p10le -vf
 telecine,split,fieldmatch=combmatch=full:ppsrc=1 -vframes 2 tmp.mp4 -y
 ffmpeg version N-113482-g36a986d9a1-20240130 Copyright (c) 2000-2024 the
 FFmpeg developers
   built with gcc 13.2.0 (crosstool-NG 1.25.0.232_c175b21)
   configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static
 --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64
 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug
 --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2
 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp
 --enable-lzma --enable-fontconfig --enable-libharfbuzz --enable-libvorbis
 --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb
 --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-
 avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2
 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r
 --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-
 libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-
 libopus --enable-librist --enable-libssh --enable-libtheora --enable-
 libvpx --enable-libwebp --enable-lv2 --enable-libvpl --enable-openal
 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264
 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-
 librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-
 libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d
 --disable-libdrm --enable-vaapi --enable-libvidstab --enable-vulkan
 --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265
 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi
 --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-
 ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-
 version=20240130
   libavutil      58. 36.101 / 58. 36.101
   libavcodec     60. 38.100 / 60. 38.100
   libavformat    60. 20.100 / 60. 20.100
   libavdevice    60.  4.100 / 60.  4.100
   libavfilter     9. 17.100 /  9. 17.100
   libswscale      7.  6.100 /  7.  6.100
   libswresample   4. 13.100 /  4. 13.100
   libpostproc    57.  4.100 / 57.  4.100
 Splitting the commandline.
 Reading option '-v' ... matched as option 'v' (set logging level) with
 argument '9'.
 Reading option '-loglevel' ... matched as option 'loglevel' (set logging
 level) with argument '99'.
 Reading option '-f' ... matched as option 'f' (force container format
 (auto-detected otherwise)) with argument 'lavfi'.
 Reading option '-i' ... matched as output url with argument
 'testsrc2=s=1920x1080:d=1:r=24000/1001,format=yuv422p10le'.
 Reading option '-vf' ... matched as option 'vf' (alias for -filter:v
 (apply filters to video streams)) with argument
 'telecine,split,fieldmatch=combmatch=full:ppsrc=1'.
 Reading option '-vframes' ... matched as option 'vframes' (set the number
 of video frames to output) with argument '2'.
 Reading option 'tmp.mp4' ... matched as output url.
 Reading option '-y' ... matched as option 'y' (overwrite output files)
 with argument '1'.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option v (set logging level) with argument 9.
 Applying option y (overwrite output files) with argument 1.
 Successfully parsed a group of options.
 Parsing a group of options: input url
 testsrc2=s=1920x1080:d=1:r=24000/1001,format=yuv422p10le.
 Applying option f (force container format (auto-detected otherwise)) with
 argument lavfi.
 Successfully parsed a group of options.
 Opening an input file:
 testsrc2=s=1920x1080:d=1:r=24000/1001,format=yuv422p10le.
 [AVFilterGraph @ 0000013c2771fdc0] Setting 's' to value '1920x1080'
 [AVFilterGraph @ 0000013c2771fdc0] Setting 'd' to value '1'
 [AVFilterGraph @ 0000013c2771fdc0] Setting 'r' to value '24000/1001'
 [AVFilterGraph @ 0000013c2771fdc0] Setting 'pix_fmts' to value
 'yuv422p10le'
 detected 8 logical cores
 [Parsed_testsrc2_0 @ 0000013c27725cc0] size:1920x1080 rate:24000/1001
 duration:1.000000 sar:1/1
 [AVFilterGraph @ 0000013c2771fdc0] query_formats: 3 queried, 6 merged, 0
 already done, 0 delayed
 [lavfi @ 0000013c27766680] All info found
 [lavfi @ 0000013c27766680] stream 0: start_time: 0 duration: NOPTS
 [lavfi @ 0000013c27766680] format: start_time: 0 duration: NOPTS (estimate
 from bit rate) bitrate=0 kb/s
 Input #0, lavfi, from
 'testsrc2=s=1920x1080:d=1:r=24000/1001,format=yuv422p10le':
   Duration: N/A, start: 0.000000, bitrate: N/A
   Stream #0:0, 1, 1001/24000: Video: wrapped_avframe, 1 reference frame,
 yuv422p10le, 1920x1080 [SAR 1:1 DAR 16:9], 0/1, 23.98 fps, 23.98 tbr,
 23.98 tbn
 Successfully opened the file.
 Parsing a group of options: output url tmp.mp4.
 Applying option vf (alias for -filter:v (apply filters to video streams))
 with argument telecine,split,fieldmatch=combmatch=full:ppsrc=1.
 Applying option vframes (set the number of video frames to output) with
 argument 2.
 Successfully parsed a group of options.
 Opening an output file: tmp.mp4.
 [out#0/mp4 @ 0000013c277377c0] No explicit maps, mapping streams
 automatically...
 [vost#0:0/libx264 @ 0000013c27776ec0] Created video stream from input
 stream 0:0
 [AVFilterGraph @ 0000013c27779240] Setting 'combmatch' to value 'full'
 [AVFilterGraph @ 0000013c27779240] Setting 'ppsrc' to value '1'
 [Parsed_telecine_0 @ 0000013c277270c0] Telecine pattern 23 yields up to 2
 frames per frame, pts advance factor: 4/5
 [file @ 0000013c277715c0] Setting default whitelist 'file,crypto,data'
 Successfully opened the file.
 Stream mapping:
   Stream #0:0 -> #0:0 (wrapped_avframe (native) -> h264 (libx264))
 [vost#0:0/libx264 @ 0000013c27776ec0] Starting thread...
 [vf#0:0 @ 0000013c27722280] Starting thread...
 [vist#0:0/wrapped_avframe @ 0000013c27772fc0] [dec:wrapped_avframe @
 0000013c2777c340] Starting thread...
 [in#0/lavfi @ 0000013c2771ca80] Starting thread...
 Press [q] to stop, [?] for help
 [AVFilterGraph @ 0000013c27779240] Setting 'combmatch' to value 'full'
 [AVFilterGraph @ 0000013c27779240] Setting 'ppsrc' to value '1'
 [Parsed_telecine_0 @ 0000013c277276c0] Telecine pattern 23 yields up to 2
 frames per frame, pts advance factor: 4/5
 [graph 0 input from stream 0:0 @ 0000013c27726bc0] Setting 'video_size' to
 value '1920x1080'
 [graph 0 input from stream 0:0 @ 0000013c27726bc0] Setting 'pix_fmt' to
 value '64'
 [graph 0 input from stream 0:0 @ 0000013c27726bc0] Setting 'time_base' to
 value '1001/24000'
 [graph 0 input from stream 0:0 @ 0000013c27726bc0] Setting 'pixel_aspect'
 to value '1/1'
 [graph 0 input from stream 0:0 @ 0000013c27726bc0] Setting 'colorspace' to
 value 'unknown'
 [graph 0 input from stream 0:0 @ 0000013c27726bc0] Setting 'range' to
 value 'unknown'
 [graph 0 input from stream 0:0 @ 0000013c27726bc0] Setting 'frame_rate' to
 value '24000/1001'
 [graph 0 input from stream 0:0 @ 0000013c27726bc0] w:1920 h:1080
 pixfmt:yuv422p10le tb:1001/24000 fr:24000/1001 sar:1/1 csp:unknown
 range:unknown
 [format @ 0000013c277267c0] Setting 'pix_fmts' to value
 'yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16|nv21|yuv420p10le|yuv422p10le|yuv444p10le|nv20le|gray|gray10le'
 [auto_scale_0 @ 0000013c27725fc0] w:iw h:ih flags:'' interl:0
 [Parsed_fieldmatch_2 @ 0000013c27726fc0] auto-inserting filter
 'auto_scale_0' between the filter 'Parsed_split_1' and the filter
 'Parsed_fieldmatch_2'
 [AVFilterGraph @ 0000013c27779240] query_formats: 6 queried, 15 merged, 3
 already done, 0 delayed
 [auto_scale_0 @ 0000013c27725fc0] picking yuv422p out of 5 ref:yuv422p10le
 alpha:0
 [Parsed_telecine_0 @ 0000013c277276c0] FPS: 24000/1001 -> 30000/1001
 [Parsed_telecine_0 @ 0000013c277276c0] TB: 1001/24000 -> 1001/30000
 [auto_scale_0 @ 0000013c27725fc0] w:1920 h:1080 fmt:yuv422p10le
 csp:unknown range:unknown sar:1/1 -> w:1920 h:1080 fmt:yuv422p csp:unknown
 range:unknown sar:1/1 flags:0x00000004
 [Parsed_telecine_0 @ 0000013c277276c0] Copying data in avfilter.
 [Parsed_fieldmatch_2 @ 0000013c27726fc0] Frame #0 at 0 is still interlaced
 [Parsed_fieldmatch_2 @ 0000013c27726fc0] SC:0 | COMBS:  -1  85  82  -1  -1
 (combpel=80) match=1 combed=YES


 ffmpeg version N-113482-g36a986d9a1-win64-gpl
 built on ... BtBn
 }}}
 Patches should be submitted to the ffmpeg-devel mailing list and not this
 bug tracker.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10835>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list