@ -734,9 +734,8 @@ static void exchange_uv(MpegEncContext *s)
# define MT_16X8 2
# define MT_DMV 3
static int mpeg_decode_mb ( Mpeg1 Context * s1 , DCTELEM block [ 12 ] [ 64 ] )
static int mpeg_decode_mb ( MpegEnc Context * s , DCTELEM block [ 12 ] [ 64 ] )
{
MpegEncContext * s = & s1 - > mpeg_enc_ctx ;
int i , j , k , cbp , val , mb_type , motion_type ;
const int mb_block_count = 4 + ( 1 < < s - > chroma_format ) ;
@ -910,7 +909,7 @@ static int mpeg_decode_mb(Mpeg1Context *s1, DCTELEM block[12][64])
s - > mv [ i ] [ 0 ] [ 1 ] = s - > last_mv [ i ] [ 0 ] [ 1 ] = s - > last_mv [ i ] [ 1 ] [ 1 ] =
mpeg_decode_motion ( s , s - > mpeg_f_code [ i ] [ 1 ] , s - > last_mv [ i ] [ 0 ] [ 1 ] ) ;
/* full_pel: only for MPEG-1 */
if ( s1 - > full_pel [ i ] ) {
if ( s - > full_pel [ i ] ) {
s - > mv [ i ] [ 0 ] [ 0 ] < < = 1 ;
s - > mv [ i ] [ 0 ] [ 1 ] < < = 1 ;
}
@ -1328,7 +1327,7 @@ static int mpeg1_decode_picture(AVCodecContext *avctx,
vbv_delay = get_bits ( & s - > gb , 16 ) ;
if ( s - > pict_type = = AV_PICTURE_TYPE_P | | s - > pict_type = = AV_PICTURE_TYPE_B ) {
s1 - > full_pel [ 0 ] = get_bits1 ( & s - > gb ) ;
s - > full_pel [ 0 ] = get_bits1 ( & s - > gb ) ;
f_code = get_bits ( & s - > gb , 3 ) ;
if ( f_code = = 0 & & ( avctx - > err_recognition & AV_EF_BITSTREAM ) )
return - 1 ;
@ -1336,7 +1335,7 @@ static int mpeg1_decode_picture(AVCodecContext *avctx,
s - > mpeg_f_code [ 0 ] [ 1 ] = f_code ;
}
if ( s - > pict_type = = AV_PICTURE_TYPE_B ) {
s1 - > full_pel [ 1 ] = get_bits1 ( & s - > gb ) ;
s - > full_pel [ 1 ] = get_bits1 ( & s - > gb ) ;
f_code = get_bits ( & s - > gb , 3 ) ;
if ( f_code = = 0 & & ( avctx - > err_recognition & AV_EF_BITSTREAM ) )
return - 1 ;
@ -1484,7 +1483,7 @@ static void mpeg_decode_picture_coding_extension(Mpeg1Context *s1)
{
MpegEncContext * s = & s1 - > mpeg_enc_ctx ;
s1 - > full_pel [ 0 ] = s1 - > full_pel [ 1 ] = 0 ;
s - > full_pel [ 0 ] = s - > full_pel [ 1 ] = 0 ;
s - > mpeg_f_code [ 0 ] [ 0 ] = get_bits ( & s - > gb , 4 ) ;
s - > mpeg_f_code [ 0 ] [ 1 ] = get_bits ( & s - > gb , 4 ) ;
s - > mpeg_f_code [ 1 ] [ 0 ] = get_bits ( & s - > gb , 4 ) ;
@ -1716,7 +1715,7 @@ static int mpeg_decode_slice(Mpeg1Context *s1, int mb_y,
if ( CONFIG_MPEG_XVMC_DECODER & & s - > avctx - > xvmc_acceleration > 1 )
ff_xvmc_init_block ( s ) ; // set s->block
if ( mpeg_decode_mb ( s1 , s - > block ) < 0 )
if ( mpeg_decode_mb ( s , s - > block ) < 0 )
return - 1 ;
if ( s - > current_picture . f . motion_val [ 0 ] & & ! s - > encoding ) { // note motion_val is normally NULL unless we want to extract the MVs
@ -2259,7 +2258,7 @@ static int decode_chunks(AVCodecContext *avctx,
}
if ( CONFIG_MPEG_VDPAU_DECODER & & avctx - > codec - > capabilities & CODEC_CAP_HWACCEL_VDPAU )
ff_vdpau_mpeg_picture_complete ( s , buf , buf_size , s - > slice_count ) ;
ff_vdpau_mpeg_picture_complete ( s2 , buf , buf_size , s - > slice_count ) ;
if ( slice_end ( avctx , picture ) ) {
if ( s2 - > last_picture_ptr | | s2 - > low_delay ) //FIXME merge with the stuff in mpeg_decode_slice