|
|
@ -1148,11 +1148,13 @@ static av_cold int encode_init(AVCodecContext *avctx) |
|
|
|
return AVERROR(EINVAL); |
|
|
|
return AVERROR(EINVAL); |
|
|
|
} |
|
|
|
} |
|
|
|
if (ctx->profile == PRORES_PROFILE_AUTO) { |
|
|
|
if (ctx->profile == PRORES_PROFILE_AUTO) { |
|
|
|
ctx->profile = av_pix_fmt_desc_get(avctx->pix_fmt)->flags & AV_PIX_FMT_FLAG_ALPHA |
|
|
|
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); |
|
|
|
|
|
|
|
ctx->profile = (desc->flags & AV_PIX_FMT_FLAG_ALPHA || |
|
|
|
|
|
|
|
!(desc->log2_chroma_w + desc->log2_chroma_h)) |
|
|
|
? PRORES_PROFILE_4444 : PRORES_PROFILE_HQ; |
|
|
|
? PRORES_PROFILE_4444 : PRORES_PROFILE_HQ; |
|
|
|
av_log(avctx, AV_LOG_INFO, "Autoselected %s. It can be overridden " |
|
|
|
av_log(avctx, AV_LOG_INFO, "Autoselected %s. It can be overridden " |
|
|
|
"through -profile option.\n", ctx->profile == PRORES_PROFILE_4444 |
|
|
|
"through -profile option.\n", ctx->profile == PRORES_PROFILE_4444 |
|
|
|
? "4:4:4:4 profile because of the alpha channel" |
|
|
|
? "4:4:4:4 profile because of the used input colorspace" |
|
|
|
: "HQ profile to keep best quality"); |
|
|
|
: "HQ profile to keep best quality"); |
|
|
|
} |
|
|
|
} |
|
|
|
if (av_pix_fmt_desc_get(avctx->pix_fmt)->flags & AV_PIX_FMT_FLAG_ALPHA) { |
|
|
|
if (av_pix_fmt_desc_get(avctx->pix_fmt)->flags & AV_PIX_FMT_FLAG_ALPHA) { |
|
|
|