[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:11:42 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):
I will likely need a little help to assert that the output I'll be getting
is precisely what we are discussing. I have used the following ffmpeg
command to dump the raw YCbCr to a planar file:
{{{
./ffmpeg -i ~/Downloads/testchart.tif -pix_fmt yuv444p -vf
scale="in_range=full:in_color_matrix=bt709:out_range=full:out_color_matrix=bt709"
out.yuv
}}}
I am hoping that, given 444 encoding:
1. Three planes of Y, Cb, and Cr respectively at the test chart's
1920x1080
1. Y at 1920x1080 with full JFIF / JPEG range.
1. Cb / Cr (again with yuv444p) at 1920x1080 with full JFIF / JPEG range.
1. Encoded using ITU-REC-709 luminance coefficients.
Can we assert that the given line will result in the above?
{{{
ffmpeg version N-64740-g6be71e9 Copyright (c) 2000-2014 the FFmpeg
developers
built on Jul 18 2014 15:56:09 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --enable-gpl --enable-libx264 --disable-asm
libavutil 52. 92.101 / 52. 92.101
libavcodec 55. 69.100 / 55. 69.100
libavformat 55. 48.101 / 55. 48.101
libavdevice 55. 13.102 / 55. 13.102
libavfilter 4. 11.102 / 4. 11.102
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 19.100 / 0. 19.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, image2, from '/home/aphorism/Downloads/testchart.tif':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0:0: Video: tiff, rgb24, 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr,
25 tbn, 25 tbc
File 'out.yuv' already exists. Overwrite ? [y/N] y
Output #0, rawvideo, to 'out.yuv':
Metadata:
encoder : Lavf55.48.101
Stream #0:0: Video: rawvideo (444P / 0x50343434), yuv444p, 1920x1080
[SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc55.69.100 rawvideo
Stream mapping:
Stream #0:0 -> #0:0 (tiff (native) -> rawvideo (native))
Press [q] to stop, [?] for help
frame= 1 fps=0.0 q=0.0 Lsize= 6075kB time=00:00:00.04
bitrate=1244160.0kbits/s
video:6075kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.000000%
}}}
If we can agree on the encoding command to generate the correct YCbCr
output, I can proceed from here.
Thanks for all of your help in all of this. Hopefully we can dig through
some of the color issues in FFMPEG and generate test units.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3785#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list