summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-02-28 17:26:37 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-02-28 17:26:37 +0100
commit18d870da83b172c89495b6543001b2ecdf4ae1e2 (patch)
tree4728252b4549ba0ebb0b7ce03a6d04d29c7d4a41
parent5ba1648318161b394499a04e8fc7385ee2fbf375 (diff)
parentd6acefe05862af244fd5a30ae946ed507c063994 (diff)
downloadffmpeg-18d870da83b172c89495b6543001b2ecdf4ae1e2.tar.gz
Merge commit 'd6acefe05862af244fd5a30ae946ed507c063994'
* commit 'd6acefe05862af244fd5a30ae946ed507c063994': proresenc: Drop unnecessary DCT permutation bits Conflicts: libavcodec/proresenc_kostya.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/proresdsp.c3
-rw-r--r--libavcodec/proresdsp.h2
-rw-r--r--libavcodec/proresenc_kostya.c11
3 files changed, 5 insertions, 11 deletions
diff --git a/libavcodec/proresdsp.c b/libavcodec/proresdsp.c
index 99f259bc8a..f6246331fb 100644
--- a/libavcodec/proresdsp.c
+++ b/libavcodec/proresdsp.c
@@ -86,8 +86,5 @@ av_cold void ff_proresdsp_init(ProresDSPContext *dsp, AVCodecContext *avctx)
#endif
#if CONFIG_PRORES_KS_ENCODER
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
}
diff --git a/libavcodec/proresdsp.h b/libavcodec/proresdsp.h
index 733d474c4d..2b23f35ad1 100644
--- a/libavcodec/proresdsp.h
+++ b/libavcodec/proresdsp.h
@@ -31,8 +31,6 @@
typedef struct ProresDSPContext {
int idct_permutation_type;
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 (* fdct) (const uint16_t *src, int linesize, int16_t *block);
} ProresDSPContext;
diff --git a/libavcodec/proresenc_kostya.c b/libavcodec/proresenc_kostya.c
index 71c2cb49f2..aaeec0ebfb 100644
--- a/libavcodec/proresenc_kostya.c
+++ b/libavcodec/proresenc_kostya.c
@@ -193,9 +193,9 @@ typedef struct ProresContext {
int16_t quants[MAX_STORED_Q][64];
int16_t custom_q[64];
const uint8_t *quant_mat;
+ const uint8_t *scantable;
ProresDSPContext dsp;
- ScanTable scantable;
int mb_width, mb_height;
int mbs_per_slice;
@@ -429,7 +429,7 @@ static int encode_slice_plane(ProresContext *ctx, PutBitContext *pb,
encode_dcs(pb, blocks, blocks_per_slice, qmat[0]);
encode_acs(pb, blocks, blocks_per_slice, plane_size_factor,
- ctx->scantable.permutated, qmat);
+ ctx->scantable, qmat);
flush_put_bits(pb);
return (put_bits_count(pb) - saved_pos) >> 3;
@@ -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_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);
}
@@ -1078,9 +1078,8 @@ static av_cold int encode_init(AVCodecContext *avctx)
return AVERROR(ENOMEM);
ff_proresdsp_init(&ctx->dsp, avctx);
- ff_init_scantable(ctx->dsp.dct_permutation, &ctx->scantable,
- interlaced ? ff_prores_interlaced_scan
- : ff_prores_progressive_scan);
+ ctx->scantable = interlaced ? ff_prores_interlaced_scan
+ : ff_prores_progressive_scan;
mps = ctx->mbs_per_slice;
if (mps & (mps - 1)) {