ctx->is_444 = (buf[0x2C] >> 6) & 1;
if (ctx->is_444) {
if (bitdepth == 8) {
- avpriv_request_sample(ctx->avctx, "4:4:4 8 bits\n");
+ avpriv_request_sample(ctx->avctx, "4:4:4 8 bits");
return AVERROR_INVALIDDATA;
} else if (bitdepth == 10) {
ctx->decode_dct_block = dnxhd_decode_dct_block_10_444;
ctx->decode_dct_block = dnxhd_decode_dct_block_12;
ctx->pix_fmt = AV_PIX_FMT_YUV422P12;
} else if (bitdepth == 10) {
- ctx->decode_dct_block = dnxhd_decode_dct_block_10;
+ if (ctx->avctx->profile == FF_PROFILE_DNXHR_HQX)
+ ctx->decode_dct_block = dnxhd_decode_dct_block_10_444;
+ else
+ ctx->decode_dct_block = dnxhd_decode_dct_block_10;
ctx->pix_fmt = AV_PIX_FMT_YUV422P10;
} else {
ctx->decode_dct_block = dnxhd_decode_dct_block_8;