Commit 315f5112 authored by Paul B Mahol's avatar Paul B Mahol

avcodec/prores_kostya: increase bits usage when alpha is used

Also fix undefined left shift of negative variable.
Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
parent 22a03c29
...@@ -358,7 +358,7 @@ static inline void encode_vlc_codeword(PutBitContext *pb, unsigned codebook, int ...@@ -358,7 +358,7 @@ static inline void encode_vlc_codeword(PutBitContext *pb, unsigned codebook, int
} }
#define GET_SIGN(x) ((x) >> 31) #define GET_SIGN(x) ((x) >> 31)
#define MAKE_CODE(x) (((x) << 1) ^ GET_SIGN(x)) #define MAKE_CODE(x) ((((x)) * 2) ^ GET_SIGN(x))
static void encode_dcs(PutBitContext *pb, int16_t *blocks, static void encode_dcs(PutBitContext *pb, int16_t *blocks,
int blocks_per_slice, int scale) int blocks_per_slice, int scale)
...@@ -1206,6 +1206,8 @@ FF_ENABLE_DEPRECATION_WARNINGS ...@@ -1206,6 +1206,8 @@ FF_ENABLE_DEPRECATION_WARNINGS
ctx->pictures_per_frame) ctx->pictures_per_frame)
break; break;
ctx->bits_per_mb = ctx->profile_info->br_tab[i]; ctx->bits_per_mb = ctx->profile_info->br_tab[i];
if (ctx->alpha_bits)
ctx->bits_per_mb *= 20;
} else if (ctx->bits_per_mb < 128) { } else if (ctx->bits_per_mb < 128) {
av_log(avctx, AV_LOG_ERROR, "too few bits per MB, please set at least 128\n"); av_log(avctx, AV_LOG_ERROR, "too few bits per MB, please set at least 128\n");
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment