diff options
| author | Tim Redfern <tim@eclectronics.org> | 2013-12-29 12:19:38 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2013-12-29 12:19:38 +0000 |
| commit | f7813a5324be39d13ab536c245d15dfc602a7849 (patch) | |
| tree | fad99148b88823d34a5df2f0a25881a002eb291b /ffmpeg/libavcodec/intrax8.c | |
| parent | b7a5a477b8ff4d4e3028b9dfb9a9df0a41463f92 (diff) | |
basic type mechanism working
Diffstat (limited to 'ffmpeg/libavcodec/intrax8.c')
| -rw-r--r-- | ffmpeg/libavcodec/intrax8.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/ffmpeg/libavcodec/intrax8.c b/ffmpeg/libavcodec/intrax8.c index 67e16ab..ffdfb07 100644 --- a/ffmpeg/libavcodec/intrax8.c +++ b/ffmpeg/libavcodec/intrax8.c @@ -437,7 +437,7 @@ lut2[q>12][c]={ static void x8_ac_compensation(IntraX8Context * const w, int const direction, int const dc_level){ MpegEncContext * const s= w->s; int t; -#define B(x,y) s->block[0][s->dsp.idct_permutation[(x)+(y)*8]] +#define B(x,y) s->block[0][w->idct_permutation[(x)+(y)*8]] #define T(x) ((x) * dc_level + 0x8000) >> 16; switch(direction){ case 0: @@ -643,7 +643,7 @@ static int x8_decode_intra_mb(IntraX8Context* const w, const int chroma){ s->current_picture.f.linesize[!!chroma] ); } if(!zeros_only) - s->dsp.idct_add ( s->dest[chroma], + w->wdsp.idct_add (s->dest[chroma], s->current_picture.f.linesize[!!chroma], s->block[0] ); @@ -695,9 +695,13 @@ av_cold void ff_intrax8_common_init(IntraX8Context * w, MpegEncContext * const s av_assert0(s->mb_width>0); w->prediction_table=av_mallocz(s->mb_width*2*2);//two rows, 2 blocks per cannon mb - ff_init_scantable(s->dsp.idct_permutation, &w->scantable[0], ff_wmv1_scantable[0]); - ff_init_scantable(s->dsp.idct_permutation, &w->scantable[1], ff_wmv1_scantable[2]); - ff_init_scantable(s->dsp.idct_permutation, &w->scantable[2], ff_wmv1_scantable[3]); + ff_wmv2dsp_init(&w->wdsp); + ff_init_scantable_permutation(w->idct_permutation, + w->wdsp.idct_perm); + + ff_init_scantable(w->idct_permutation, &w->scantable[0], ff_wmv1_scantable[0]); + ff_init_scantable(w->idct_permutation, &w->scantable[1], ff_wmv1_scantable[2]); + ff_init_scantable(w->idct_permutation, &w->scantable[2], ff_wmv1_scantable[3]); ff_intrax8dsp_init(&w->dsp); } @@ -722,7 +726,6 @@ av_cold void ff_intrax8_common_end(IntraX8Context * w) * @param dquant doubled quantizer, it would be odd in case of VC-1 halfpq==1. * @param quant_offset offset away from zero */ -//FIXME extern uint8_t ff_wmv3_dc_scale_table[32]; int ff_intrax8_decode_picture(IntraX8Context * const w, int dquant, int quant_offset){ MpegEncContext * const s= w->s; int mb_xy; |
