[FFmpeg-user] FFV1/rgb48le issue: ffmpeg automatically chooses gbrp16le to decode an rgb48le FFV1 file.
Kieran O'Leary
kieran.oleary at irishfilm.ie
Wed Aug 17 18:47:14 EEST 2016
Hi,
Thank you so much for adding rgb48le support. It will be of great use and importance to audiovisual archives.
When I transcode an rgb48le TIFF to FFV1, the resulting ffv1 file is listed as having a pixel format of gbr16le when I decode it. I can specify a pix_fmt of rgb48le, but it would be ideal if rgb48le was selected, if the ffv1 is indeed rgb48le. I've included several terminal outputs to show that even though gbrp16le is chosen to decode the ffv1 transcoded file, when the ffv1 file is transcoded to a rgb48le TIFF, the framemd5s match the original TIFF.
I'm attaching the following terminal outputs and the source file is here: https://www.dropbox.com/s/ji08myxt0ke4hy1/16bitrgb48le.tiff?dl=0
1. 16 bit (12 bits plus padding) rgb48le TIFF converted to ffv1 level 3 plus framemd5 - ed19dd966d5ed2e5c6de438949a81eaf
2. framemd5 of ffv1.mkv without specififying rgb48le - 596d6723629140e8ac7b8f818b275f89
3. transcode from ffv1.mkv to tiff (rgb48le auto selected)
4. framemd5 of 'restored' tiff (rgb48le) - ed19dd966d5ed2e5c6de438949a81eaf
1. 16 bit (12 bits plus padding) rgb48le TIFF converted to ffv1 level 3 plus framemd5 - ed19dd966d5ed2e5c6de438949a81eaf
ifi-mac-pro:ifiscripts admin$ ffmpeg -i /Volumes/Stardom/kieran_tests/16bitrgb48le.tiff -c:v ffv1 -level 3 -strict -2 /Volumes/Stardom/kieran_tests/ffv1.mkv -f framemd5 -
ffmpeg version N-43982-g16ea0bc Copyright (c) 2000-2016 the FFmpeg developers
built with Apple LLVM version 7.3.0 (clang-703.0.31)
configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-ffplay --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-vda
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 51.100 / 57. 53.100
libavformat 57. 46.100 / 57. 46.101
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 50.100 / 6. 52.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
[tiff_pipe @ 0x7fad84010600] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, tiff_pipe, from '/Volumes/Stardom/kieran_tests/16bitrgb48le.tiff':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: tiff, rgb48le, 2350x1800, 25 tbr, 25 tbn, 25 tbc
File '/Volumes/Stardom/kieran_tests/ffv1.mkv' already exists. Overwrite ? [y/N] y
[ffv1 @ 0x7fad84802400] bits_per_raw_sample > 8, forcing range coder
[matroska @ 0x7fad84800c00] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[framemd5 @ 0x7fad85008000] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
#format: frame checksums
#version: 2
#hash: MD5
#software: Lavf57.46.101
#tb 0: 1/25
#media_type 0: video
#codec_id 0: rawvideo
#dimensions 0: 2350x1800
#sar 0: 0/1
#stream#, dts, pts, duration, size, hash
Output #0, matroska, to '/Volumes/Stardom/kieran_tests/ffv1.mkv':
Metadata:
encoder : Lavf57.46.101
Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), rgb48le, 2350x1800, q=2-31, 200 kb/s, 25 fps, 1k tbn, 25 tbc
Metadata:
encoder : Lavc57.51.100 ffv1
Output #1, framemd5, to 'pipe:':
Metadata:
encoder : Lavf57.46.101
Stream #1:0: Video: rawvideo (RGB0 / 0x30424752), rgb48le, 2350x1800, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc57.51.100 rawvideo
Stream mapping:
Stream #0:0 -> #0:0 (tiff (native) -> ffv1 (native))
Stream #0:0 -> #1:0 (tiff (native) -> rawvideo (native))
Press [q] to stop, [?] for help
0, 0, 0, 1, 25380000, ed19dd966d5ed2e5c6de438949a81eaf
frame= 1 fps=0.0 q=-0.0 q=-0.0 size= 9815kB time=00:00:00.04 bitrate=20101frame= 1 fps=0.0 q=-0.0 Lq=-0.0 size= 9815kB time=00:00:00.04 bitrate=2010154.0kbits/s speed=0.0726x
video:34599kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
2. framemd5 of ffv1.mkv without specififying rgb48le - 596d6723629140e8ac7b8f818b275f89
ifi-mac-pro:ifiscripts admin$ ffmpeg -i /Volumes/Stardom/kieran_tests/ffv1.mkv -f framemd5 -
ffmpeg version N-43982-g16ea0bc Copyright (c) 2000-2016 the FFmpeg developers
built with Apple LLVM version 7.3.0 (clang-703.0.31)
configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-ffplay --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-vda
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 51.100 / 57. 53.100
libavformat 57. 46.100 / 57. 46.101
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 50.100 / 6. 52.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
Input #0, matroska,webm, from '/Volumes/Stardom/kieran_tests/ffv1.mkv':
Metadata:
ENCODER : Lavf57.46.101
Duration: 00:00:00.04, start: 0.000000, bitrate: 2010154 kb/s
Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), gbrp16le, 2350x1800, SAR 1:1 DAR 47:36, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
Metadata:
ENCODER : Lavc57.51.100 ffv1
DURATION : 00:00:00.040000000
[framemd5 @ 0x7fe1ec80a600] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
#format: frame checksums
#version: 2
#hash: MD5
#software: Lavf57.46.101
#tb 0: 1/25
#media_type 0: video
#codec_id 0: rawvideo
#dimensions 0: 2350x1800
#sar 0: 1/1
#stream#, dts, pts, duration, size, hash
Output #0, framemd5, to 'pipe:':
Metadata:
encoder : Lavf57.46.101
Stream #0:0: Video: rawvideo (G3[0][16] / 0x10003347), gbrp16le, 2350x1800 [SAR 1:1 DAR 47:36], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
Metadata:
DURATION : 00:00:00.040000000
encoder : Lavc57.51.100 rawvideo
Stream mapping:
Stream #0:0 -> #0:0 (ffv1 (native) -> rawvideo (native))
Press [q] to stop, [?] for help
0, 0, 0, 1, 25380000, 596d6723629140e8ac7b8f818b275f89
frame= 1 fps=0.0 q=-0.0 size= 0kB time=00:00:00.04 bitrate= 59.4kbits/frame= 1 fps=0.0 q=-0.0 Lsize= 0kB time=00:00:00.04 bitrate= 59.4kbits/s speed=0.0401x
video:24785kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
3. transcode from ffv1.mkv to tiff (rgb48le auto selected)
ifi-mac-pro:ifiscripts admin$ ffmpeg -i /Volumes/Stardom/kieran_tests/ffv1.mkv /Volumes/Stardom/kieran_tests/restored.tiff
ffmpeg version N-43982-g16ea0bc Copyright (c) 2000-2016 the FFmpeg developers
built with Apple LLVM version 7.3.0 (clang-703.0.31)
configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-ffplay --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-vda
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 51.100 / 57. 53.100
libavformat 57. 46.100 / 57. 46.101
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 50.100 / 6. 52.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
Input #0, matroska,webm, from '/Volumes/Stardom/kieran_tests/ffv1.mkv':
Metadata:
ENCODER : Lavf57.46.101
Duration: 00:00:00.04, start: 0.000000, bitrate: 2010154 kb/s
Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), gbrp16le, 2350x1800, SAR 1:1 DAR 47:36, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
Metadata:
ENCODER : Lavc57.51.100 ffv1
DURATION : 00:00:00.040000000
File '/Volumes/Stardom/kieran_tests/restored.tiff' already exists. Overwrite ? [y/N] y
[image2 @ 0x7fdb8c000600] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, image2, to '/Volumes/Stardom/kieran_tests/restored.tiff':
Metadata:
encoder : Lavf57.46.101
Stream #0:0: Video: tiff, rgb48le, 2350x1800 [SAR 1:1 DAR 47:36], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
Metadata:
DURATION : 00:00:00.040000000
encoder : Lavc57.51.100 tiff
Stream mapping:
Stream #0:0 -> #0:0 (ffv1 (native) -> tiff (native))
Press [q] to stop, [?] for help
frame= 1 fps=0.8 q=-0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.0328x
video:24984kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
4. framemd5 of 'restored' tiff (rgb48le) - ed19dd966d5ed2e5c6de438949a81eaf
ifi-mac-pro:ifiscripts admin$ ffmpeg -i /Volumes/Stardom/kieran_tests/restored.tiff -f framemd5 -
ffmpeg version N-43982-g16ea0bc Copyright (c) 2000-2016 the FFmpeg developers
built with Apple LLVM version 7.3.0 (clang-703.0.31)
configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-ffplay --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-vda
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 51.100 / 57. 53.100
libavformat 57. 46.100 / 57. 46.101
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 50.100 / 6. 52.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
[tiff_pipe @ 0x7fdefb810600] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, tiff_pipe, from '/Volumes/Stardom/kieran_tests/restored.tiff':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: tiff, rgb48le, 2350x1800 [SAR 1:1 DAR 47:36], 25 tbr, 25 tbn, 25 tbc
[framemd5 @ 0x7fdefc000c00] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
#format: frame checksums
#version: 2
#hash: MD5
#software: Lavf57.46.101
#tb 0: 1/25
#media_type 0: video
#codec_id 0: rawvideo
#dimensions 0: 2350x1800
#sar 0: 1/1
#stream#, dts, pts, duration, size, hash
Output #0, framemd5, to 'pipe:':
Metadata:
encoder : Lavf57.46.101
Stream #0:0: Video: rawvideo (RGB0 / 0x30424752), rgb48le, 2350x1800 [SAR 1:1 DAR 47:36], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc57.51.100 rawvideo
Stream mapping:
Stream #0:0 -> #0:0 (tiff (native) -> rawvideo (native))
Press [q] to stop, [?] for help
0, 0, 0, 1, 25380000, ed19dd966d5ed2e5c6de438949a81eaf
frame= 1 fps=0.0 q=-0.0 Lsize= 0kB time=00:00:00.04 bitrate= 59.4kbits/s speed=0.634x
video:24785kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
------
This email has been scanned for spam and malware by The Email Laundry.
More information about the ffmpeg-user
mailing list