[FFmpeg-user] FFv1 - encoding problem with pixelformats "gbrp10le" and "gbrp12le"

Christoph Gerstbauer christophgerstbauer at gmail.com
Thu Mar 5 16:38:12 CET 2015


Hello,

I mentioned that the ffv1 encoder is not able to encode into pixfmts 
"gbrp10le" and "gbrp12le" which are defined as supported.
(Usecase: I want to trancode from DPX to FFv1)

I checked the ffv1 pixelformat support via this command:

 >ffmpegnew -h encoder=ffv1
ffmpeg version N-70441-gdcf7924 Copyright (c) 2000-2015 the FFmpeg 
developers
   built with gcc 4.9.2 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads 
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r 
--enable-gnutls --enable-iconv --enable-libass --enable-libblu
ray --enable-libbs2b --enable-libcaca --enable-libfreetype 
--enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug 
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw
b --enable-libopenjpeg --enable-libopus --enable-librtmp 
--enable-libschroedinger --enable-libsoxr --enable-libspeex 
--enable-libtheora --enable-libtwolame --enable-libvidstab 
--enable-libvo-aacenc --
enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx 
--enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 
--enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enab
le-zlib
   libavutil      54. 19.100 / 54. 19.100
   libavcodec     56. 26.100 / 56. 26.100
   libavformat    56. 25.100 / 56. 25.100
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5. 11.102 /  5. 11.102
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
Encoder ffv1 [FFmpeg video codec #1]:
     Threading capabilities: slice
     Supported pixel formats: yuv420p yuva420p yuva422p yuv444p yuva444p 
yuv440p yuv422p yuv411p yuv410p bgr0 bgra yuv420p16le yuv422p16le 
yuv444p16le yuv444p9le yuv422p9le yuv420p9le yuv420p10le yuv42
2p10le yuv444p10le yuva444p16le yuva422p16le yuva420p16le yuva444p10le 
yuva422p10le yuva420p10le yuva444p9le yuva422p9le yuva420p9le gray16le 
gray gbrp9le gbrp10le gbrp12le gbrp14le
ffv1 encoder AVOptions:
   -slicecrc          <int>        E..V.... Protect slices with CRCs 
(from -1 to 1) (default -1)



The command line output of ffmpeg when ffv1 cannot be encoded is this 
one (example with a gbrp10le DPX file):

 >ffmpegnew -i "I:\DPX\_DPX examples\ARRI SCAN\0000017.dpx" -vcodec ffv1 
-an "I:\DPX\_DPX examples\ARRI SCAN\0000017.avi" -loglevel debug
ffmpeg version N-70441-gdcf7924 Copyright (c) 2000-2015 the FFmpeg 
developers
   built with gcc 4.9.2 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads 
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r 
--enable-gnutls --enable-iconv --enable-libass --enable-libblu
ray --enable-libbs2b --enable-libcaca --enable-libfreetype 
--enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug 
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw
b --enable-libopenjpeg --enable-libopus --enable-librtmp 
--enable-libschroedinger --enable-libsoxr --enable-libspeex 
--enable-libtheora --enable-libtwolame --enable-libvidstab 
--enable-libvo-aacenc --
enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx 
--enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 
--enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enab
le-zlib
   libavutil      54. 19.100 / 54. 19.100
   libavcodec     56. 26.100 / 56. 26.100
   libavformat    56. 25.100 / 56. 25.100
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5. 11.102 /  5. 11.102
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
Splitting the commandline.
Reading option '-i' ... matched as input file with argument 'I:\DPX\_DPX 
examples\ARRI SCAN\0000017.dpx'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video 
codec ('copy' to copy stream)) with argument 'ffv1'.
Reading option '-an' ... matched as option 'an' (disable audio) with 
argument '1'.
Reading option 'I:\DPX\_DPX examples\ARRI SCAN\0000017.avi' ... matched 
as output file.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging 
level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file I:\DPX\_DPX examples\ARRI 
SCAN\0000017.dpx.
Successfully parsed a group of options.
Opening an input file: I:\DPX\_DPX examples\ARRI SCAN\0000017.dpx.
[dpx_pipe @ 00000000003b04a0] Format dpx_pipe probed with size=2048 and 
score=51
[dpx_pipe @ 00000000003b04a0] Before avformat_find_stream_info() pos: 0 
bytes read:32768 seeks:0
[dpx_pipe @ 00000000003b04a0] Probe buffer size limit of 5000000 bytes 
reached
[dpx_pipe @ 00000000003b04a0] Stream #0: not enough frames to estimate 
rate; consider increasing probesize
[dpx_pipe @ 00000000003b04a0] After avformat_find_stream_info() pos: 
26550272 bytes read:26550272 seeks:0 frames:1
Input #0, dpx_pipe, from 'I:\DPX\_DPX examples\ARRI SCAN\0000017.dpx':
   Duration: N/A, bitrate: N/A
     Stream #0:0, 1, 1/25: Video: dpx, gbrp10le, 3072x2160 [SAR 1:1 DAR 
64:45], 1/25, 25 tbr, 25 tbn, 25 tbc
Successfully opened the file.
Parsing a group of options: output file I:\DPX\_DPX examples\ARRI 
SCAN\0000017.avi.
Applying option vcodec (force video codec ('copy' to copy stream)) with 
argument ffv1.
Applying option an (disable audio) with argument 1.
Successfully parsed a group of options.
Opening an output file: I:\DPX\_DPX examples\ARRI SCAN\0000017.avi.
File 'I:\DPX\_DPX examples\ARRI SCAN\0000017.avi' already exists. 
Overwrite ? [y/N] y
Successfully opened the file.
detected 16 logical cores
[graph 0 input from stream 0:0 @ 000000000301db80] Setting 'video_size' 
to value '3072x2160'
[graph 0 input from stream 0:0 @ 000000000301db80] Setting 'pix_fmt' to 
value '86'
[graph 0 input from stream 0:0 @ 000000000301db80] Setting 'time_base' 
to value '1/25'
[graph 0 input from stream 0:0 @ 000000000301db80] Setting 
'pixel_aspect' to value '1/1'
[graph 0 input from stream 0:0 @ 000000000301db80] Setting 'sws_param' 
to value 'flags=2'
[graph 0 input from stream 0:0 @ 000000000301db80] Setting 'frame_rate' 
to value '25/1'
[graph 0 input from stream 0:0 @ 000000000301db80] w:3072 h:2160 
pixfmt:gbrp10le tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
[format @ 000000000301efa0] compat: called with 
args=[yuv420p|yuva420p|yuva422p|yuv444p|yuva444p|yuv440p|yuv422p|yuv411p|yuv410p|bgr0|bgra|yuv420p16le|yuv422p16le|yuv444p16le|yuv444p9le|yuv422p9le|yuv
420p9le|yuv420p10le|yuv422p10le|yuv444p10le|yuva444p16le|yuva422p16le|yuva420p16le|yuva444p10le|yuva422p10le|yuva420p10le|yuva444p9le|yuva422p9le|yuva420p9le|gray16le|gray|gbrp9le|gbrp10le|gbrp12le|gb
rp14le]
[format @ 000000000301efa0] Setting 'pix_fmts' to value 
'yuv420p|yuva420p|yuva422p|yuv444p|yuva444p|yuv440p|yuv422p|yuv411p|yuv410p|bgr0|bgra|yuv420p16le|yuv422p16le|yuv444p16le|yuv444p9le|yuv422p9le|
yuv420p9le|yuv420p10le|yuv422p10le|yuv444p10le|yuva444p16le|yuva422p16le|yuva420p16le|yuva444p10le|yuva422p10le|yuva420p10le|yuva444p9le|yuva422p9le|yuva420p9le|gray16le|gray|gbrp9le|gbrp10le|gbrp12le
|gbrp14le'
[AVFilterGraph @ 0000000003017120] query_formats: 4 queried, 3 merged, 0 
already done, 0 delayed
[ffv1 @ 00000000003b9240] bits_per_raw_sample of more than 8 needs 
-coder 1 currently
Output #0, avi, to 'I:\DPX\_DPX examples\ARRI SCAN\0000017.avi':
     Stream #0:0, 0, 0/0: Video: ffv1, none, q=2-31, 128 kb/s, SAR 1:1 
DAR 0:0, 25 fps
     Metadata:
       encoder         : Lavc56.26.100 ffv1
Stream mapping:
   Stream #0:0 -> #0:0 (dpx (native) -> ffv1 (native))
Error while opening encoder for output stream #0:0 - maybe incorrect 
parameters such as bit_rate, rate, width or height
[AVIOContext @ 0000000005483e80] Statistics: 0 seeks, 0 writeouts
[AVIOContext @ 00000000003b8cc0] Statistics: 26550272 bytes read, 0 seeks


How can I solve this problem?

Best Regards
Christoph


More information about the ffmpeg-user mailing list