Opened 4 years ago

Closed 4 years ago

#8514 closed defect (fixed)

maskedclamp filter output is strange

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

Description

Summary of the bug:output ffmpeg 4.2.2 is fine, but ffmpeg-20200206-343ccfc is strange.
4.2.2 return lavfi.signalstats.YLOW=95,
but ffmpeg-20200206-343ccfc return lavfi.signalstats.YLOW=0.
How to reproduce:

% ffmpeg -f lavfi -i color -vf lutyuv=0:128:128,split=3[0][1][2];[1]lutyuv=100[1a];[0][1a][2]maskedclamp=5:0:1,signalstats,metadata=print:key=lavfi.signalstats.YLOW -vframes 1 -f null -
ffmpeg version git-2020-02-06-343ccfc Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.2.1 (GCC) 20200122
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --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-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 39.100 / 56. 39.100
  libavcodec     58. 68.100 / 58. 68.100
  libavformat    58. 38.100 / 58. 38.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 74.100 /  7. 74.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Input #0, lavfi, from 'color':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
[Parsed_metadata_5 @ 0000028769b458c0] frame:0    pts:0       pts_time:0
[Parsed_metadata_5 @ 0000028769b458c0] lavfi.signalstats.YLOW=0
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf58.38.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.68.100 wrapped_avframe
frame=    1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=2.56x
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

ffmpeg version: ffmpeg-20200206-343ccfc zeranoe
built on ...: windows

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Change History (1)

comment:1 by Elon Musk, 4 years ago

Resolution: fixed
Status: newclosed

This is undefined behavior, min input in maskedclamp is not supposed to be bigger than max input. Fixed C version of code to be always consistent with ASM one.

Note: See TracTickets for help on using tickets.