[FFmpeg-trac] #8088(undetermined:new): FFmpeg allows DNxHD 175x, but not DNxHD 350x
FFmpeg
trac at avcodec.org
Mon Aug 19 23:53:21 EEST 2019
#8088: FFmpeg allows DNxHD 175x, but not DNxHD 350x
-------------------------------------+-------------------------------------
Reporter: clawsoon | Type:
| enhancement
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
In the Wikipedia list of DNxHD codecs, 175x and 350x are similar except
that 350x uses 4:4:4 and runs at 352Mbps, while 175x uses 4:2:2 and runs
at 176Mbps. Both are 10 bit.
It is possible to create an 8-bit DNxHD 175 with a command line like this:
ffmpeg.exe -r 24000/1001 -i [input frames] -r 24000/1001 -c:v dnxhd
-pix_fmt yuv422p -b:v 175M [output movie]
It is possible to create a 10-bit DNxHD 175x with a command line like
this:
ffmpeg.exe -r 24000/1001 -i [input frames] -r 24000/1001 -c:v dnxhd
-pix_fmt yuv422p10 -b:v 175M [output movie]
However, a 10-bit DNxHD 350x fails:
ffmpeg.exe -r 24000/1001 -i [input frames] -r 24000/1001 -c:v dnxhd
-pix_fmt yuv444p10 -b:v 350M [output movie]
...
[dnxhd @ 0000024cade3fec0] pixel format is incompatible with DNxHD profile
[dnxhd @ 0000024cadde5840] ff_frame_thread_encoder_init failed
Error initializing output stream 0:0 -- Error while opening encoder for
output stream #0:0 - maybe incorrect parameters such as bit_rate, rate,
width or height
The error comes from this bit of code, which, if I'm reading it correctly,
says that 4:4:4 is only available in the dnxhr_444 profile:
if ((ctx->profile == FF_PROFILE_DNXHR_444 && (avctx->pix_fmt !=
AV_PIX_FMT_YUV444P10 &&
avctx->pix_fmt !=
AV_PIX_FMT_GBRP10)) ||
(ctx->profile != FF_PROFILE_DNXHR_444 && (avctx->pix_fmt ==
AV_PIX_FMT_YUV444P10 ||
avctx->pix_fmt ==
AV_PIX_FMT_GBRP10))) {
av_log(avctx, AV_LOG_ERROR,
"pixel format is incompatible with DNxHD profile\n");
return AVERROR(EINVAL);
}
I believe (though I'm not 100% certain) that this is incorrect; both 350x
and 365x, which are DNxHD codecs, not DNxHR codecs, should support 4:4:4.
Thanks.
Andrew
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8088>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list