Commit 18d870da authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit 'd6acefe0'

* commit 'd6acefe0':
  proresenc: Drop unnecessary DCT permutation bits

Conflicts:
	libavcodec/proresenc_kostya.c
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 5ba16483 d6acefe0
...@@ -86,8 +86,5 @@ av_cold void ff_proresdsp_init(ProresDSPContext *dsp, AVCodecContext *avctx) ...@@ -86,8 +86,5 @@ av_cold void ff_proresdsp_init(ProresDSPContext *dsp, AVCodecContext *avctx)
#endif #endif
#if CONFIG_PRORES_KS_ENCODER #if CONFIG_PRORES_KS_ENCODER
dsp->fdct = prores_fdct_c; dsp->fdct = prores_fdct_c;
dsp->dct_permutation_type = FF_NO_IDCT_PERM;
ff_init_scantable_permutation(dsp->dct_permutation,
dsp->dct_permutation_type);
#endif #endif
} }
...@@ -31,8 +31,6 @@ ...@@ -31,8 +31,6 @@
typedef struct ProresDSPContext { typedef struct ProresDSPContext {
int idct_permutation_type; int idct_permutation_type;
uint8_t idct_permutation[64]; uint8_t idct_permutation[64];
int dct_permutation_type;
uint8_t dct_permutation[64];
void (* idct_put) (uint16_t *out, int linesize, int16_t *block, const int16_t *qmat); void (* idct_put) (uint16_t *out, int linesize, int16_t *block, const int16_t *qmat);
void (* fdct) (const uint16_t *src, int linesize, int16_t *block); void (* fdct) (const uint16_t *src, int linesize, int16_t *block);
} ProresDSPContext; } ProresDSPContext;
......
...@@ -193,9 +193,9 @@ typedef struct ProresContext { ...@@ -193,9 +193,9 @@ typedef struct ProresContext {
int16_t quants[MAX_STORED_Q][64]; int16_t quants[MAX_STORED_Q][64];
int16_t custom_q[64]; int16_t custom_q[64];
const uint8_t *quant_mat; const uint8_t *quant_mat;
const uint8_t *scantable;
ProresDSPContext dsp; ProresDSPContext dsp;
ScanTable scantable;
int mb_width, mb_height; int mb_width, mb_height;
int mbs_per_slice; int mbs_per_slice;
...@@ -429,7 +429,7 @@ static int encode_slice_plane(ProresContext *ctx, PutBitContext *pb, ...@@ -429,7 +429,7 @@ static int encode_slice_plane(ProresContext *ctx, PutBitContext *pb,
encode_dcs(pb, blocks, blocks_per_slice, qmat[0]); encode_dcs(pb, blocks, blocks_per_slice, qmat[0]);
encode_acs(pb, blocks, blocks_per_slice, plane_size_factor, encode_acs(pb, blocks, blocks_per_slice, plane_size_factor,
ctx->scantable.permutated, qmat); ctx->scantable, qmat);
flush_put_bits(pb); flush_put_bits(pb);
return (put_bits_count(pb) - saved_pos) >> 3; return (put_bits_count(pb) - saved_pos) >> 3;
...@@ -676,7 +676,7 @@ static int estimate_slice_plane(ProresContext *ctx, int *error, int plane, ...@@ -676,7 +676,7 @@ static int estimate_slice_plane(ProresContext *ctx, int *error, int plane,
bits = estimate_dcs(error, td->blocks[plane], blocks_per_slice, qmat[0]); bits = estimate_dcs(error, td->blocks[plane], blocks_per_slice, qmat[0]);
bits += estimate_acs(error, td->blocks[plane], blocks_per_slice, bits += estimate_acs(error, td->blocks[plane], blocks_per_slice,
plane_size_factor, ctx->scantable.permutated, qmat); plane_size_factor, ctx->scantable, qmat);
return FFALIGN(bits, 8); return FFALIGN(bits, 8);
} }
...@@ -1078,9 +1078,8 @@ static av_cold int encode_init(AVCodecContext *avctx) ...@@ -1078,9 +1078,8 @@ static av_cold int encode_init(AVCodecContext *avctx)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
ff_proresdsp_init(&ctx->dsp, avctx); ff_proresdsp_init(&ctx->dsp, avctx);
ff_init_scantable(ctx->dsp.dct_permutation, &ctx->scantable, ctx->scantable = interlaced ? ff_prores_interlaced_scan
interlaced ? ff_prores_interlaced_scan : ff_prores_progressive_scan;
: ff_prores_progressive_scan);
mps = ctx->mbs_per_slice; mps = ctx->mbs_per_slice;
if (mps & (mps - 1)) { if (mps & (mps - 1)) {
......
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