[FFmpeg-trac] #9167(undetermined:closed): Color changed when an image converting to video
FFmpeg
trac at avcodec.org
Tue Mar 30 22:34:05 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 pdr0):
Replying to [comment:6 Balling]:
> >because the color models do not overlap perfectly
>
> They do not overlap perfectly. Of course if you are doing limited vs.
full range it is obvious. But even if you do full vs full, some YCbCr
colors will be out-of-gamut for RGB. For example, YCbCr limited BT.709
values 139, 151, 24 R'G'B' is -21, 182, 181 (which is what is used for
xvYCC, but that is another topic). The same about full range, of course.
>
> You can use calculator here: https://res18h39.netlify.app/color It the
only one I found that is correct including BT.1886/XYZ and other stuff. Of
course no way to reshape BT.1886 which is not perfect 2.4 gamma.
>
> Now with 4:2:0 you are able to do any color but if you fix one pixel of
one color the other pixel neer if different color will have to be off-by-
one or worse.
Yes, he's using 4:4:4; we are assuming no subsampling, or things like
lossy differences
For out of gamut - it does not apply in this situation because you're
starting with RGB . All out of gamut values have already been eliminated
by definition. (Assuming the absence of lossy encoding, chroma subsampling
or other transforms applied)
All 8bit RGB colors are represented by 8bit YUV ; the problem is there are
too many values; many YCbCr value map to the same RGB value. Hence the
errors. 10bit YUV is required for the precision to specify exact 8bit RGB
color
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9167#comment:8>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list