Mercurial > libavcodec.hg
diff mpegvideo.h @ 1389:da0b3a50d209 libavcodec
rate distortion mb decision support
fix decoding of old %16!=0 divx
fix assertion failure in motion_est.c
author | michaelni |
---|---|
date | Tue, 29 Jul 2003 02:09:12 +0000 |
parents | 0fd38b711f06 |
children | 524c904a66b8 |
line wrap: on
line diff
--- a/mpegvideo.h Tue Jul 29 01:45:19 2003 +0000 +++ b/mpegvideo.h Tue Jul 29 02:09:12 2003 +0000 @@ -430,6 +430,7 @@ int block_index[6]; ///< index to current MB in block based arrays with edges int block_wrap[6]; + uint8_t *dest[3]; int *mb_index2xy; ///< mb_index -> mb_x + mb_y*mb_stride @@ -723,14 +724,7 @@ extern enum PixelFormat ff_yuv420p_list[2]; -static inline void ff_init_block_index(MpegEncContext *s){ - s->block_index[0]= s->block_wrap[0]*(s->mb_y*2 + 1) - 1 + s->mb_x*2; - s->block_index[1]= s->block_wrap[0]*(s->mb_y*2 + 1) + s->mb_x*2; - s->block_index[2]= s->block_wrap[0]*(s->mb_y*2 + 2) - 1 + s->mb_x*2; - s->block_index[3]= s->block_wrap[0]*(s->mb_y*2 + 2) + s->mb_x*2; - s->block_index[4]= s->block_wrap[4]*(s->mb_y + 1) + s->block_wrap[0]*(s->mb_height*2 + 2) + s->mb_x; - s->block_index[5]= s->block_wrap[4]*(s->mb_y + 1 + s->mb_height + 2) + s->block_wrap[0]*(s->mb_height*2 + 2) + s->mb_x; -} +void ff_init_block_index(MpegEncContext *s); static inline void ff_update_block_index(MpegEncContext *s){ s->block_index[0]+=2; @@ -739,6 +733,9 @@ s->block_index[3]+=2; s->block_index[4]++; s->block_index[5]++; + s->dest[0]+= 16; + s->dest[1]+= 8; + s->dest[2]+= 8; } static inline int get_bits_diff(MpegEncContext *s){ @@ -833,6 +830,7 @@ int h263_decode_picture_header(MpegEncContext *s); int ff_h263_decode_gob_header(MpegEncContext *s); int ff_mpeg4_decode_picture_header(MpegEncContext * s, GetBitContext *gb); +void ff_h263_update_motion_val(MpegEncContext * s); int intel_h263_decode_picture_header(MpegEncContext *s);