[FFmpeg-trac] #1582(swscale:open): Banding/discoloration in darker gradients when converting to rgb24

FFmpeg trac at avcodec.org
Wed Apr 3 09:54:45 EEST 2019


#1582: Banding/discoloration in darker gradients when converting to rgb24
-------------------------------------+-------------------------------------
             Reporter:  y3kcjd5      |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  normal       |                Component:  swscale
              Version:  git-master   |               Resolution:
             Keywords:  swscale,     |               Blocked By:
  bounty                             |
             Blocking:               |  Reproduced by developer:  1
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by gdgsdg123):

 == Sitrep from recent version ==
 [[BR]]
 [[BR]]
 Still occurs.
 [[BR]]
 [[BR]]
 Suggested workaround:

 Always add `+full_chroma_int` to `sws_flags` (by `-sws_flags
 +full_chroma_int` or `sws_flags=+full_chroma_int` in filtergraphs, or
 both), unless speed is prefered over quality.
 [[BR]]
 [[BR]]
 [[BR]]
 [[BR]]
 [[BR]]
 Debug info:
 [[BR]]
 [[BR]]
 Build from:
 https://zeranoe.com/builds/win64/static/ffmpeg-20190402-6aeaac3-win64-static.zip

 Command:
 {{{
 C:\>ffmpeg -report -i "yuv420p10le.avi" -vframes 1 -compression_level 10
 -pred mixed -pix_fmt rgb24 -sws_flags spline+print_info+accurate_rnd
 ".\-.png"
 C:\>ffmpeg -report -i "yuv420p10le.avi" -vframes 1 -compression_level 10
 -pred mixed -pix_fmt rgb24 -sws_flags
 spline+print_info+accurate_rnd+full_chroma_int ".\+.png"
 C:\>ffmpeg -report -i "yuv420p10le.avi" -vframes 1 -compression_level 10
 -pred mixed -pix_fmt rgb24 -sws_flags spline+print_info ".\--.png"
 C:\>ffmpeg -report -i "yuv420p10le.avi" -vframes 1 -compression_level 10
 -pred mixed -pix_fmt rgb24 -sws_flags spline+print_info+full_chroma_int
 ".\-+.png"

 }}}
 Relevant files attached.
 [[BR]]
 [[BR]]
 [[BR]]
 Difference highlight:
 (line 93 of the log files)

 "+.log"/"-+.log":
 {{{
 [swscaler] chr srcW=720 srcH=418 dstW=1440 dstH=836 xInc=32768 yInc=32768
 }}}
 "-.log"/"--.log":
 {{{
 [swscaler] chr srcW=720 srcH=418 dstW=720 dstH=836 xInc=65536 yInc=32768
 }}}
 [[BR]]
 [[BR]]
 Note:
 "-.png" and "--.png", "+.png" and "-+.png", are bitexact respectively.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/1582#comment:15>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list