[FFmpeg-trac] #3785(swscale:closed): SWSCALE: in_range, in_color_matrix, out_range, out_color_matrix incorrect

FFmpeg trac at avcodec.org
Sat Apr 24 02:33:14 EEST 2021


#3785: SWSCALE: in_range, in_color_matrix, out_range, out_color_matrix incorrect
------------------------------------+-----------------------------------
             Reporter:  troy_s      |                    Owner:  (none)
                 Type:  defect      |                   Status:  closed
             Priority:  normal      |                Component:  swscale
              Version:  git-master  |               Resolution:  invalid
             Keywords:  range       |               Blocked By:
             Blocking:              |  Reproduced by developer:  0
Analyzed by developer:  0           |
------------------------------------+-----------------------------------
Changes (by Balling):

 * resolution:  needs_more_info => invalid

Comment:

 >BT.709 and sRGB share identical luminance coefficients

 sRGB does not have luminance coefficients at all, since it is RGB. sYCC
 does. And no, sYCC uses BT.601 matrix. Same about Adobe RGB (opRGB) and
 Adobe YCC (opYCC) (BT.601 matrix too) and CMYK vs. YCCK (again, BT.601).
 It is bad, since matrix is derived from primaries, but all JPEGs are like
 that. What can I say.

 >An sRGB image, encoded at full range using BT.709 primaries should decode
 to a perfect 1:1 regarding RGB values

 It cannot be encoded not with BT.709 primaries, sRGB uses only BT.709
 primaries. And no. Reference EOTF for SDR video is different from sRGB, so
 they will not really decode 1:1.

 >editor, the top row should result in RGB values as follows:

 That is limited RGB. All color pickers use full RGB. See
 https://en.wikipedia.org/wiki/SMPTE_color_bars


 >There appears to be breakage with regard to the application of the
 coefficients, as well as possibly misinterpretation of the full range
 settings.
 No there is not. It is just you that did tag the output files and it
 decodes using BT.601. See https://res18h39.netlify.app/color

 Use yellow limited range: 180 180 16, after encoding using BT.709 matrix
 and rounding is 168, 44, 136 which if you are decoding back with BT.601
 will be 179, 191, 22, and here it is! FFmpeg thus is perfect and case
 closed.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/3785#comment:19>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list