[FFmpeg-trac] #7280(avcodec:new): dnxhdenc.c forces DNxHR HQX to 10-bit, but it should be 12-bit
FFmpeg
trac at avcodec.org
Tue Jun 26 23:28:42 EEST 2018
#7280: dnxhdenc.c forces DNxHR HQX to 10-bit, but it should be 12-bit
-------------------------------------+-------------------------------------
Reporter: | Type: defect
electron.rotoscope | Priority: important
Status: new | Version:
Component: avcodec | unspecified
Keywords: DNxHR HQX | Blocked By:
depth yuv422p12le | Reproduced by developer: 0
Blocking: |
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
According to the Avid specifications for the DNxHR HQX and DNxHR 444
formats, they should always be 12-bit as shown on
http://avid.force.com/pkb/articles/en_US/White_Paper/DNxHR-Codec-
Bandwidth-Specifications in the section "DNxHR Key"
The current version of ffmpeg forces the output to 10-bit. This is
referenced (as far as I can tell) in lines 385 to 398 of
libavcodec\dnxhdenc.c
{{{
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);
}
if (ctx->profile == FF_PROFILE_DNXHR_HQX && avctx->pix_fmt !=
AV_PIX_FMT_YUV422P10) {
av_log(avctx, AV_LOG_ERROR,
"pixel format is incompatible with DNxHR HQX profile\n");
return AVERROR(EINVAL);
}
}}}
It looks like this may have been discussed in 2016 but maybe never
implemented, not sure https://ffmpeg.org/pipermail/ffmpeg-
devel/2016-August/197897.html
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7280>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list