X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fwmv2dec.c;h=f16b6de67efdb9fbaf6c4ad73cd9b7e6c60d376a;hb=bdd1567c355a8092e7746ef99e831d579e34fa6a;hp=c1fd4ee0a3b837d23685dfb9cfb731d9ee76246d;hpb=1218777ffd152287244349d4ff9e1cbc84fa2c54;p=ffmpeg diff --git a/libavcodec/wmv2dec.c b/libavcodec/wmv2dec.c index c1fd4ee0a3b..f16b6de67ef 100644 --- a/libavcodec/wmv2dec.c +++ b/libavcodec/wmv2dec.c @@ -19,7 +19,6 @@ */ #include "avcodec.h" -#include "dsputil.h" #include "mpegvideo.h" #include "h263.h" #include "mathops.h" @@ -32,7 +31,7 @@ static void parse_mb_skip(Wmv2Context * w){ int mb_x, mb_y; MpegEncContext * const s= &w->s; - uint32_t * const mb_type = s->current_picture_ptr->f.mb_type; + uint32_t * const mb_type = s->current_picture_ptr->mb_type; w->skip_type= get_bits(&s->gb, 2); switch(w->skip_type){ @@ -255,11 +254,11 @@ static int16_t *wmv2_pred_motion(Wmv2Context *w, int *px, int *py){ wrap = s->b8_stride; xy = s->block_index[0]; - mot_val = s->current_picture.f.motion_val[0][xy]; + mot_val = s->current_picture.motion_val[0][xy]; - A = s->current_picture.f.motion_val[0][xy - 1]; - B = s->current_picture.f.motion_val[0][xy - wrap]; - C = s->current_picture.f.motion_val[0][xy + 2 - wrap]; + A = s->current_picture.motion_val[0][xy - 1]; + B = s->current_picture.motion_val[0][xy - wrap]; + C = s->current_picture.motion_val[0][xy + 2 - wrap]; if(s->mb_x && !s->first_slice_line && !s->mspel && w->top_left_mv_flag) diff= FFMAX(FFABS(A[0] - B[0]), FFABS(A[1] - B[1])); @@ -291,7 +290,7 @@ static int16_t *wmv2_pred_motion(Wmv2Context *w, int *px, int *py){ return mot_val; } -static inline int wmv2_decode_inter_block(Wmv2Context *w, DCTELEM *block, int n, int cbp){ +static inline int wmv2_decode_inter_block(Wmv2Context *w, int16_t *block, int n, int cbp){ MpegEncContext * const s= &w->s; static const int sub_cbp_table[3]= {2,3,1}; int sub_cbp; @@ -331,7 +330,7 @@ static inline int wmv2_decode_inter_block(Wmv2Context *w, DCTELEM *block, int n, } -int ff_wmv2_decode_mb(MpegEncContext *s, DCTELEM block[6][64]) +int ff_wmv2_decode_mb(MpegEncContext *s, int16_t block[6][64]) { Wmv2Context * const w= (Wmv2Context*)s; int cbp, code, i; @@ -340,7 +339,7 @@ int ff_wmv2_decode_mb(MpegEncContext *s, DCTELEM block[6][64]) if(w->j_type) return 0; if (s->pict_type == AV_PICTURE_TYPE_P) { - if (IS_SKIP(s->current_picture.f.mb_type[s->mb_y * s->mb_stride + s->mb_x])) { + if (IS_SKIP(s->current_picture.mb_type[s->mb_y * s->mb_stride + s->mb_x])) { /* skip mb */ s->mb_intra = 0; for(i=0;i<6;i++) @@ -447,10 +446,6 @@ int ff_wmv2_decode_mb(MpegEncContext *s, DCTELEM block[6][64]) static av_cold int wmv2_decode_init(AVCodecContext *avctx){ Wmv2Context * const w= avctx->priv_data; - if(avctx->idct_algo==FF_IDCT_AUTO){ - avctx->idct_algo=FF_IDCT_WMV2; - } - if(ff_msmpeg4_decode_init(avctx) < 0) return -1;