[FFmpeg-trac] #9167(undetermined:closed): Color changed when an image converting to video

FFmpeg trac at avcodec.org
Tue Mar 30 23:14:27 EEST 2021

#9167: Color changed when an image converting to video
             Reporter:  kvsico       |                    Owner:
                 Type:  defect       |                   Status:  closed
             Priority:  normal       |                Component:
                                     |  undetermined
              Version:  unspecified  |               Resolution:  invalid
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |

Comment (by Balling):

 Replying to [comment:7 pdr0]:
 > It's close, but the colors are not exactly the same
 > It's close in MPV, MPCHC, VLC,  but with the expected +/- rounding
 > Original 238,77,45
 > MPV 237,76,44
 > MPCHC 237,77,44
 > VLC 237,76,44
 > FFplay 252,90,41
 > Potplayer 251,89,39
 > FFplay and Potplayer are way off
 > If using 8bit YUV, I would use 709 and do it the other way with -vf
 scale, because more players will have similar close values +/-3 . Every
 player including FFplay, Potplayer, dozens others will look close,
 including browsers
 > Or if you want exact numbers, use 10bit YUV or RGB

 MPC uses FFmpeg and does not really support sRGB in video. So does VLC
 (and very old version) and FFplay. FFplay does not support colorspaces
 good enough, because SDL library.

 The only one player that supports those very non-standard for video sRGB
 is mpv.

 I do not know what version of mpv you use, but here on Windows (Windows
 has much better pow function, just for example, LOL) mpv does give 238,
 77, 44. Just saying, I will attach a sample.

 >will look close, including browsers

 No. We in Chrome use sRGB EOTF for BT.709 OETF. So you are very off here.
 Unfortunately no choice here, everything else is done for sRGB ambient
 light, we cannot use BT.1886 as it is for dark ambient. Maybe when we will
 get TrueTone fully...
 >lossy differences

 There are no lossy differences on '''one''' color. At least in x264. 4:2:0
 also preserves all colors, on one color that is.

 >All out of gamut values have already been eliminated by definition

 I would not be so sure about that, use --gamut-warning in mpv. You will be
 surprised. On default setting x264 does produce out-of-gamut (unless there
 is another bug in --gamut-warning). Oopsie. Use this bmp sample for
 example: https://video.stackexchange.com/questions/19944/ffmpeg-bmp-to-
 yuv-x264-color-shift It gives superblack.

Ticket URL: <https://trac.ffmpeg.org/ticket/9167#comment:9>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list