[FFmpeg-trac] #8544(ffmpeg:new): LUTRGB inaccurate, affects other colors

FFmpeg trac at avcodec.org
Sun Mar 1 02:51:59 EET 2020


#8544: LUTRGB inaccurate, affects other colors
----------------------------------+---------------------------------------
             Reporter:  chris319  |                     Type:  defect
               Status:  new       |                 Priority:  important
            Component:  ffmpeg    |                  Version:  unspecified
             Keywords:            |               Blocked By:
             Blocking:            |  Reproduced by developer:  0
Analyzed by developer:  0         |
----------------------------------+---------------------------------------
 Summary of the bug:
 LUTRGB inaccurate, affects other colors.

 When used on a white raster of R=255,G=255,B=255,
 LUTRGB=r=clip(val,47,194) returns:R=188,G=249,B=255.
 LUTRGB is not clipping to specified value of 194 and is affecting the
 green channel which is not specified in the command. Pixel format is RGB24
 — no subsampling.
 Above command should return R=194,G=255,B=255, leaving green and blue
 unchanged.

 How to reproduce:
 {{{
 ffmpeg -y  -i "White.mp4"  -c:v libx265  -crf 0  -vf
 scale=in_range=limited:in_color_matrix=bt709,format=rgb24,lutrgb='r=clip(val,47,194)',scale=out_color_matrix=bt709:out_range=full,format=rgb24
 -r 59.94  -an  clipped.mp4

 Console output:

 ffmpeg -y  -i "White.mp4"  -c:v libx265  -crf 0  -vf
 scale=in_range=full:in_color_matrix=bt709,format=rgb24,lutrgb='r=clip(val,47,194)',scale=out_color_matrix=bt709:out_range=full,format=rgb24
 -r 59.94    -an  clipped.mp4
 ffmpeg version git-2019-12-02-968c4cb Copyright (c) 2000-2019 the FFmpeg
 developers
   built with gcc 9.2.1 (GCC) 20191125
   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. 36.101 / 56. 36.101
   libavcodec     58. 64.101 / 58. 64.101
   libavformat    58. 35.100 / 58. 35.100
   libavdevice    58.  9.101 / 58.  9.101
   libavfilter     7. 67.100 /  7. 67.100
   libswscale      5.  6.100 /  5.  6.100
   libswresample   3.  6.100 /  3.  6.100
   libpostproc    55.  6.100 / 55.  6.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'White.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf58.29.100
   Duration: 00:00:04.00, start: 0.000000, bitrate: 20 kb/s
     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
 bt709/unknown/bt709), 1920x1080 [SAR 1:1 DAR 16:9], 16 kb/s, 25 fps, 25
 tbr, 12800 tbn, 50 tbc (default)
     Metadata:
       handler_name    : VideoHandler
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265))
 Press [q] to stop, [?] for help
 x265 [info]: HEVC encoder version 3.2+15-04db2bfee5d6
 x265 [info]: build info [Windows][GCC 9.2.1][64 bit] 8bit+10bit
 x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
 x265 [warning]: halving the quality when psy-rd is enabled for 444 input.
 Setting cbQpOffset = 6 and crQpOffset = 6
 x265 [info]: Main 4:4:4 profile, Level-4.1 (Main tier)
 x265 [info]: Thread pool created using 8 threads
 x265 [info]: Slices                              : 1
 x265 [info]: frame threads / pool features       : 3 / wpp(17 rows)
 x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
 x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
 x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 3
 x265 [info]: Keyframe min / max / scenecut / bias: 25 / 250 / 40 / 5.00
 x265 [info]: Cb/Cr QP Offset                     : 6 / 6
 x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
 x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
 x265 [info]: References / ref-limit  cu / depth  : 3 / off / on
 x265 [info]: AQ: mode / str / qg-size / cu-tree  : 2 / 1.0 / 32 / 1
 x265 [info]: Rate Control / qCompress            : CRF-0.0 / 0.60
 x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip signhide tmvp
 b-intra
 x265 [info]: tools: strong-intra-smoothing lslices=6 deblock sao
 Output #0, mp4, to 'clipped.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf58.35.100
     Stream #0:0(und): Video: hevc (libx265) (hev1 / 0x31766568), gbrp,
 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 59.94 fps, 11988 tbn, 59.94 tbc
 (default)
     Metadata:
       handler_name    : VideoHandler
       encoder         : Lavc58.64.101 libx265
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 frame=  239 fps= 28 q=-0.0 Lsize=      36kB time=00:00:03.93 bitrate=
 75.5kbits/s dup=139 drop=0 speed=0.454x
 video:31kB audio:0kB subtitle:0kB other streams:0kB global headers:2kB
 muxing overhead: 18.843916%
 x265 [info]: frame I:      1, Avg QP:7.53  kb/s: 721.68
 x265 [info]: frame P:     76, Avg QP:8.00  kb/s: 62.57
 x265 [info]: frame B:    162, Avg QP:10.72  kb/s: 55.94
 x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
 x265 [info]: consecutive B-frames: 28.6% 11.7% 19.5% 1.3% 39.0%

 encoded 239 frames in 8.64s (27.67 fps), 60.84 kb/s, Avg QP:9.84

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

--
Ticket URL: <https://trac.ffmpeg.org/ticket/8544>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list