Opened 8 months ago

Closed 7 months ago

#10926 closed defect (fixed)

fate-filter-metadata-signalstats-yuv420p10 fails on big-endian machines

Reported by: Sean McGovern Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

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.

Change History (1)

comment:1 by mkver, 7 months ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.