[FFmpeg-trac] #3785(swscale:new): SWSCALE: in_range, in_color_matrix, out_range, out_color_matrix incorrect
FFmpeg
trac at avcodec.org
Sat Jul 19 21:20:18 CEST 2014
#3785: SWSCALE: in_range, in_color_matrix, out_range, out_color_matrix incorrect
------------------------------------+-----------------------------------
Reporter: troy_s | Owner:
Type: defect | Status: new
Priority: normal | Component: swscale
Version: git-master | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
------------------------------------+-----------------------------------
Comment (by troy_s):
Analysing the resultant output image as a raw RGB image for statistical
purposes, based on a simple renaming of the planar file to avoid YUV
conversion in ImageMagick:
{{{
aphorism at u64x6:~/Develop/ffmpeg$ identify -verbose -size 1920x1080 -depth
8 -interlace plane rgb:./out.raw
Image: ./out.raw
Base filename: out.raw
Format: RGB (Raw red, green, and blue samples)
Class: DirectClass
Geometry: 1920x1080+0+0
Resolution: 72x72
Print size: 26.6667x15
Units: Undefined
Type: TrueColor
Endianess: LSB
Colorspace: sRGB
Depth: 8-bit
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
Channel statistics:
Red:
min: 16 (0.0627451)
max: 235 (0.921569)
mean: 104.958 (0.411601)
standard deviation: 72.5761 (0.284612)
kurtosis: -1.32201
skewness: 0.447203
Green:
min: 32 (0.12549)
max: 240 (0.941176)
mean: 130.152 (0.510402)
standard deviation: 37.936 (0.148768)
kurtosis: 0.516604
skewness: 0.17742
Blue:
min: 0 (0)
max: 255 (1)
mean: 1.00469 (0.00393995)
standard deviation: 12.6817 (0.0497322)
kurtosis: 251.198
skewness: 15.0671
Image statistics:
Overall:
min: 0 (0)
max: 255 (1)
mean: 78.7052 (0.308648)
standard deviation: 47.8444 (0.187625)
kurtosis: 7.50915
skewness: 1.50966
}}}
Assuming the above command generates raw YCbCr in agreement with our
estimations, a few things pop out:
1. The luma (Y' == R channel here) is still in broadcast range.
1. The Cb is odd. Given that we have a blue gradient going from 0-255, as
well as pure white and pure black swatches, we should expect a full range
of Cb along the yellow / blue axis. Instead, we are seeing something that
looks very close to broadcast range (16-240 8 bit) with a doubled up
offset to 32.
1. The Cr is delivering correct range levels at a cursory glance of the
distribution numbers.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3785#comment:5>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list