[FFmpeg-trac] #10926(avfilter:new): fate-filter-metadata-signalstats-yuv420p10 fails on big-endian machines

FFmpeg trac at avcodec.org
Thu Mar 21 17:45:37 EET 2024


#10926: fate-filter-metadata-signalstats-yuv420p10 fails on big-endian machines
-------------------------------------+-------------------------------------
             Reporter:  Sean         |                     Type:  defect
  McGovern                           |
               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:
 How to reproduce:

 with a big-endian machine such as a POWER7 or emulated via QEMU powerpc:

 {{{
 % configure <whatever options>
 % make
 % make fate-filter-metadata-signalstats-yuv420p10
 }}}

 If I run the test manually with debug verbosity I get the following
 output:

 {{{
 $ ./ffprobe -v debug -of compact=p=0 -show_entries frame=pts:frame_tags
 -bitexact -f lavfi
 sws_flags='+accurate_rnd+bitexact;color=white:duration=1:r=1,format=yuv420p10,signalstats'
 ffprobe version N-114299-g456c8ebe7c Copyright (c) 2007-2024 the FFmpeg
 developers
   built with gcc 13.2.0 (GCC)
   configuration: --prefix=/home/seanmcg/build/ffmpeg-ubsan/install
 --enable-gpl --enable-memory-poisoning --disable-doc
 --cc=/home/seanmcg/tools/bin/gcc --extra-cflags='-fno-sanitize-
 recover=undefined' --extra-ldflags=-R/home/seanmcg/tools/lib64 --toolchain
 =gcc-usan --disable-stripping
   libavutil      59.  3.100 / 59.  3.100
   libavcodec     61.  2.100 / 61.  2.100
   libavformat    61.  0.100 / 61.  0.100
   libavdevice    61.  0.100 / 61.  0.100
   libavfilter    10.  0.100 / 10.  0.100
   libswscale      8.  0.100 /  8.  0.100
   libswresample   5.  0.100 /  5.  0.100
   libpostproc    58.  0.100 / 58.  0.100
 Adding 'pts' to the entries to show in section 'frame'
 'frame' matches section with unique name 'frame'
 'frame_tags' matches section with unique name 'frame_tags'
 [AVFilterGraph @ 0x10035f95a10] Setting 'color' to value 'white'
 [AVFilterGraph @ 0x10035f95a10] Setting 'duration' to value '1'
 [AVFilterGraph @ 0x10035f95a10] Setting 'r' to value '1'
 [AVFilterGraph @ 0x10035f95a10] Setting 'pix_fmts' to value 'yuv420p10'
 detected 64 logical cores
 [Parsed_color_0 @ 0x10035f98a50] size:320x240 rate:1/1 duration:1.000000
 sar:1/1
 [auto_scale_0 @ 0x10035f9a830] Setting 'flags' to value
 '+accurate_rnd+bitexact'
 [auto_scale_0 @ 0x10035f9a830] w:iw h:ih flags:'+accurate_rnd+bitexact'
 interl:0
 [Parsed_format_1 @ 0x10035f98d70] auto-inserting filter 'auto_scale_0'
 between the filter 'Parsed_color_0' and the filter 'Parsed_format_1'
 [AVFilterGraph @ 0x10035f95a10] query_formats: 4 queried, 6 merged, 3
 already done, 0 delayed
 [auto_scale_0 @ 0x10035f9a830] w:320 h:240 fmt:yuv420p csp:unknown
 range:unknown sar:1/1 -> w:320 h:240 fmt:yuv420p10be csp:unknown
 range:unknown sar:1/1 flags:0x000C0004
 [lavfi @ 0x10035f95430] All info found
 Input #0, lavfi, from
 'sws_flags=+accurate_rnd+bitexact;color=white:duration=1:r=1,format=yuv420p10,signalstats':
   Duration: N/A, start: 0.000000, bitrate: N/A
   Stream #0:0, 1, 1/1: Video: wrapped_avframe, 1 reference frame,
 yuv420p10be, 320x240 [SAR 1:1 DAR 4:3], 0/1, 1 fps, 1 tbr, 1 tbn
 Processing read interval id:0 start:N/A end:N/A
 pts=0|tag:lavfi.signalstats.UBITDEPTH=1|tag:lavfi.signalstats.YMIN=940|tag:lavfi.signalstats.YLOW=940|tag:lavfi.signalstats.YAVG=940|tag:lavfi.signalstats.YHIGH=940|tag:lavfi.signalstats.YMAX=940|tag:lavfi.signalstats.UMIN=512|tag:lavfi.signalstats.ULOW=512|tag:lavfi.signalstats.UAVG=512|tag:lavfi.signalstats.UHIGH=512|tag:lavfi.signalstats.UMAX=512|tag:lavfi.signalstats.VMIN=512|tag:lavfi.signalstats.VLOW=512|tag:lavfi.signalstats.VAVG=512|tag:lavfi.signalstats.VHIGH=512|tag:lavfi.signalstats.VMAX=512|tag:lavfi.signalstats.SATMIN=0|tag:lavfi.signalstats.SATLOW=0|tag:lavfi.signalstats.SATAVG=0|tag:lavfi.signalstats.SATHIGH=0|tag:lavfi.signalstats.SATMAX=0|tag:lavfi.signalstats.HUEMED=180|tag:lavfi.signalstats.HUEAVG=180|tag:lavfi.signalstats.YDIF=0|tag:lavfi.signalstats.UDIF=0|tag:lavfi.signalstats.VDIF=0|tag:lavfi.signalstats.YBITDEPTH=6|tag:lavfi.signalstats.VBITDEPTH=1
 }}}

 On other platforms such as x86_64 I don't see `auto_scale_0` being
 inserted.

 Worth noting that `fate-filter-metadata-signalstats-yuv420p` succeeds.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10926>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list