|
|
@ -55,7 +55,8 @@ static const int bitrate_table[6] = { 1000, 2100, 3500, 5400, 7000, 10000}; |
|
|
|
|
|
|
|
|
|
|
|
static const int valid_primaries[9] = { AVCOL_PRI_RESERVED0, AVCOL_PRI_BT709, AVCOL_PRI_UNSPECIFIED, AVCOL_PRI_BT470BG, |
|
|
|
static const int valid_primaries[9] = { AVCOL_PRI_RESERVED0, AVCOL_PRI_BT709, AVCOL_PRI_UNSPECIFIED, AVCOL_PRI_BT470BG, |
|
|
|
AVCOL_PRI_SMPTE170M, AVCOL_PRI_BT2020, AVCOL_PRI_SMPTE431, AVCOL_PRI_SMPTE432,INT_MAX }; |
|
|
|
AVCOL_PRI_SMPTE170M, AVCOL_PRI_BT2020, AVCOL_PRI_SMPTE431, AVCOL_PRI_SMPTE432,INT_MAX }; |
|
|
|
static const int valid_trc[4] = { AVCOL_TRC_RESERVED0, AVCOL_TRC_BT709, AVCOL_TRC_UNSPECIFIED, INT_MAX }; |
|
|
|
static const int valid_trc[6] = { AVCOL_TRC_RESERVED0, AVCOL_TRC_BT709, AVCOL_TRC_UNSPECIFIED, AVCOL_TRC_SMPTE2084, |
|
|
|
|
|
|
|
AVCOL_TRC_ARIB_STD_B67, INT_MAX }; |
|
|
|
static const int valid_colorspace[5] = { AVCOL_SPC_BT709, AVCOL_SPC_UNSPECIFIED, AVCOL_SPC_SMPTE170M, |
|
|
|
static const int valid_colorspace[5] = { AVCOL_SPC_BT709, AVCOL_SPC_UNSPECIFIED, AVCOL_SPC_SMPTE170M, |
|
|
|
AVCOL_SPC_BT2020_NCL, INT_MAX }; |
|
|
|
AVCOL_SPC_BT2020_NCL, INT_MAX }; |
|
|
|
|
|
|
|
|
|
|
@ -757,9 +758,9 @@ static int prores_encode_frame(AVCodecContext *avctx, AVPacket *pkt, |
|
|
|
*buf++ = frame_flags; |
|
|
|
*buf++ = frame_flags; |
|
|
|
*buf++ = 0; /* reserved */ |
|
|
|
*buf++ = 0; /* reserved */ |
|
|
|
/* only write color properties, if valid value. set to unspecified otherwise */ |
|
|
|
/* only write color properties, if valid value. set to unspecified otherwise */ |
|
|
|
*buf++ = ff_int_from_list_or_default(avctx, "frame color primaries", pict->color_primaries, valid_primaries, 0); |
|
|
|
*buf++ = ff_int_from_list_or_default(avctx, "frame color primaries", avctx->color_primaries, valid_primaries, 0); |
|
|
|
*buf++ = ff_int_from_list_or_default(avctx, "frame color trc", pict->color_trc, valid_trc, 0); |
|
|
|
*buf++ = ff_int_from_list_or_default(avctx, "frame color trc", avctx->color_trc, valid_trc, 0); |
|
|
|
*buf++ = ff_int_from_list_or_default(avctx, "frame colorspace", pict->colorspace, valid_colorspace, 0); |
|
|
|
*buf++ = ff_int_from_list_or_default(avctx, "frame colorspace", avctx->colorspace, valid_colorspace, 0); |
|
|
|
if (avctx->profile >= FF_PROFILE_PRORES_4444) { |
|
|
|
if (avctx->profile >= FF_PROFILE_PRORES_4444) { |
|
|
|
if (avctx->pix_fmt == AV_PIX_FMT_YUV444P10) { |
|
|
|
if (avctx->pix_fmt == AV_PIX_FMT_YUV444P10) { |
|
|
|
*buf++ = 0xA0;/* src b64a and no alpha */ |
|
|
|
*buf++ = 0xA0;/* src b64a and no alpha */ |
|
|
|