Signed-off-by: Martin Storsjö <martin@martin.st>tags/n0.11
@@ -407,7 +407,7 @@ retry: | |||||
if (CONFIG_WMV2_DECODER && s->msmpeg4_version==5) { | if (CONFIG_WMV2_DECODER && s->msmpeg4_version==5) { | ||||
ret= ff_wmv2_decode_picture_header(s); | ret= ff_wmv2_decode_picture_header(s); | ||||
} else if (CONFIG_MSMPEG4_DECODER && s->msmpeg4_version) { | } else if (CONFIG_MSMPEG4_DECODER && s->msmpeg4_version) { | ||||
ret = msmpeg4_decode_picture_header(s); | |||||
ret = ff_msmpeg4_decode_picture_header(s); | |||||
} else if (CONFIG_MPEG4_DECODER && s->h263_pred) { | } else if (CONFIG_MPEG4_DECODER && s->h263_pred) { | ||||
if(s->avctx->extradata_size && s->picture_number==0){ | if(s->avctx->extradata_size && s->picture_number==0){ | ||||
GetBitContext gb; | GetBitContext gb; | ||||
@@ -662,7 +662,7 @@ retry: | |||||
} | } | ||||
if (s->msmpeg4_version && s->msmpeg4_version<4 && s->pict_type==AV_PICTURE_TYPE_I) | if (s->msmpeg4_version && s->msmpeg4_version<4 && s->pict_type==AV_PICTURE_TYPE_I) | ||||
if(!CONFIG_MSMPEG4_DECODER || msmpeg4_decode_ext_header(s, buf_size) < 0){ | |||||
if(!CONFIG_MSMPEG4_DECODER || ff_msmpeg4_decode_ext_header(s, buf_size) < 0){ | |||||
s->error_status_table[s->mb_num-1]= ER_MB_ERROR; | s->error_status_table[s->mb_num-1]= ER_MB_ERROR; | ||||
} | } | ||||
@@ -819,13 +819,13 @@ void rv20_encode_picture_header(MpegEncContext *s, int picture_number); | |||||
/* msmpeg4.c */ | /* msmpeg4.c */ | ||||
void msmpeg4_encode_picture_header(MpegEncContext * s, int picture_number); | |||||
void msmpeg4_encode_ext_header(MpegEncContext * s); | |||||
void msmpeg4_encode_mb(MpegEncContext * s, | |||||
DCTELEM block[6][64], | |||||
int motion_x, int motion_y); | |||||
int msmpeg4_decode_picture_header(MpegEncContext * s); | |||||
int msmpeg4_decode_ext_header(MpegEncContext * s, int buf_size); | |||||
void ff_msmpeg4_encode_picture_header(MpegEncContext * s, int picture_number); | |||||
void ff_msmpeg4_encode_ext_header(MpegEncContext * s); | |||||
void ff_msmpeg4_encode_mb(MpegEncContext * s, | |||||
DCTELEM block[6][64], | |||||
int motion_x, int motion_y); | |||||
int ff_msmpeg4_decode_picture_header(MpegEncContext * s); | |||||
int ff_msmpeg4_decode_ext_header(MpegEncContext * s, int buf_size); | |||||
int ff_msmpeg4_decode_init(AVCodecContext *avctx); | int ff_msmpeg4_decode_init(AVCodecContext *avctx); | ||||
void ff_msmpeg4_encode_init(MpegEncContext *s); | void ff_msmpeg4_encode_init(MpegEncContext *s); | ||||
int ff_wmv2_decode_picture_header(MpegEncContext * s); | int ff_wmv2_decode_picture_header(MpegEncContext * s); | ||||
@@ -2004,7 +2004,7 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, | |||||
case CODEC_ID_MSMPEG4V3: | case CODEC_ID_MSMPEG4V3: | ||||
case CODEC_ID_WMV1: | case CODEC_ID_WMV1: | ||||
if (CONFIG_MSMPEG4_ENCODER) | if (CONFIG_MSMPEG4_ENCODER) | ||||
msmpeg4_encode_mb(s, s->block, motion_x, motion_y); | |||||
ff_msmpeg4_encode_mb(s, s->block, motion_x, motion_y); | |||||
break; | break; | ||||
case CODEC_ID_WMV2: | case CODEC_ID_WMV2: | ||||
if (CONFIG_WMV2_ENCODER) | if (CONFIG_WMV2_ENCODER) | ||||
@@ -2899,7 +2899,7 @@ static int encode_thread(AVCodecContext *c, void *arg){ | |||||
//not beautiful here but we must write it before flushing so it has to be here | //not beautiful here but we must write it before flushing so it has to be here | ||||
if (CONFIG_MSMPEG4_ENCODER && s->msmpeg4_version && s->msmpeg4_version<4 && s->pict_type == AV_PICTURE_TYPE_I) | if (CONFIG_MSMPEG4_ENCODER && s->msmpeg4_version && s->msmpeg4_version<4 && s->pict_type == AV_PICTURE_TYPE_I) | ||||
msmpeg4_encode_ext_header(s); | |||||
ff_msmpeg4_encode_ext_header(s); | |||||
write_slice_end(s); | write_slice_end(s); | ||||
@@ -3190,7 +3190,7 @@ static int encode_picture(MpegEncContext *s, int picture_number) | |||||
if (CONFIG_WMV2_ENCODER && s->codec_id == CODEC_ID_WMV2) | if (CONFIG_WMV2_ENCODER && s->codec_id == CODEC_ID_WMV2) | ||||
ff_wmv2_encode_picture_header(s, picture_number); | ff_wmv2_encode_picture_header(s, picture_number); | ||||
else if (CONFIG_MSMPEG4_ENCODER && s->msmpeg4_version) | else if (CONFIG_MSMPEG4_ENCODER && s->msmpeg4_version) | ||||
msmpeg4_encode_picture_header(s, picture_number); | |||||
ff_msmpeg4_encode_picture_header(s, picture_number); | |||||
else if (CONFIG_MPEG4_ENCODER && s->h263_pred) | else if (CONFIG_MPEG4_ENCODER && s->h263_pred) | ||||
ff_mpeg4_encode_picture_header(s, picture_number); | ff_mpeg4_encode_picture_header(s, picture_number); | ||||
else if (CONFIG_RV10_ENCODER && s->codec_id == CODEC_ID_RV10) | else if (CONFIG_RV10_ENCODER && s->codec_id == CODEC_ID_RV10) | ||||
@@ -347,7 +347,7 @@ static void find_best_tables(MpegEncContext * s) | |||||
} | } | ||||
/* write MSMPEG4 compatible frame header */ | /* write MSMPEG4 compatible frame header */ | ||||
void msmpeg4_encode_picture_header(MpegEncContext * s, int picture_number) | |||||
void ff_msmpeg4_encode_picture_header(MpegEncContext * s, int picture_number) | |||||
{ | { | ||||
find_best_tables(s); | find_best_tables(s); | ||||
@@ -373,7 +373,7 @@ void msmpeg4_encode_picture_header(MpegEncContext * s, int picture_number) | |||||
put_bits(&s->pb, 5, 0x16 + s->mb_height/s->slice_height); | put_bits(&s->pb, 5, 0x16 + s->mb_height/s->slice_height); | ||||
if(s->msmpeg4_version==4){ | if(s->msmpeg4_version==4){ | ||||
msmpeg4_encode_ext_header(s); | |||||
ff_msmpeg4_encode_ext_header(s); | |||||
if(s->bit_rate>MBAC_BITRATE) | if(s->bit_rate>MBAC_BITRATE) | ||||
put_bits(&s->pb, 1, s->per_mb_rl_table); | put_bits(&s->pb, 1, s->per_mb_rl_table); | ||||
} | } | ||||
@@ -406,7 +406,7 @@ void msmpeg4_encode_picture_header(MpegEncContext * s, int picture_number) | |||||
s->esc3_run_length= 0; | s->esc3_run_length= 0; | ||||
} | } | ||||
void msmpeg4_encode_ext_header(MpegEncContext * s) | |||||
void ff_msmpeg4_encode_ext_header(MpegEncContext * s) | |||||
{ | { | ||||
put_bits(&s->pb, 5, s->avctx->time_base.den / s->avctx->time_base.num); //yes 29.97 -> 29 | put_bits(&s->pb, 5, s->avctx->time_base.den / s->avctx->time_base.num); //yes 29.97 -> 29 | ||||
@@ -533,9 +533,9 @@ static void msmpeg4v2_encode_motion(MpegEncContext * s, int val) | |||||
} | } | ||||
} | } | ||||
void msmpeg4_encode_mb(MpegEncContext * s, | |||||
DCTELEM block[6][64], | |||||
int motion_x, int motion_y) | |||||
void ff_msmpeg4_encode_mb(MpegEncContext * s, | |||||
DCTELEM block[6][64], | |||||
int motion_x, int motion_y) | |||||
{ | { | ||||
int cbp, coded_cbp, i; | int cbp, coded_cbp, i; | ||||
int pred_x, pred_y; | int pred_x, pred_y; | ||||
@@ -1363,7 +1363,7 @@ av_cold int ff_msmpeg4_decode_init(AVCodecContext *avctx) | |||||
return 0; | return 0; | ||||
} | } | ||||
int msmpeg4_decode_picture_header(MpegEncContext * s) | |||||
int ff_msmpeg4_decode_picture_header(MpegEncContext * s) | |||||
{ | { | ||||
int code; | int code; | ||||
@@ -1430,7 +1430,7 @@ int msmpeg4_decode_picture_header(MpegEncContext * s) | |||||
s->dc_table_index = get_bits1(&s->gb); | s->dc_table_index = get_bits1(&s->gb); | ||||
break; | break; | ||||
case 4: | case 4: | ||||
msmpeg4_decode_ext_header(s, (2+5+5+17+7)/8); | |||||
ff_msmpeg4_decode_ext_header(s, (2+5+5+17+7)/8); | |||||
if(s->bit_rate > MBAC_BITRATE) s->per_mb_rl_table= get_bits1(&s->gb); | if(s->bit_rate > MBAC_BITRATE) s->per_mb_rl_table= get_bits1(&s->gb); | ||||
else s->per_mb_rl_table= 0; | else s->per_mb_rl_table= 0; | ||||
@@ -1517,7 +1517,7 @@ int msmpeg4_decode_picture_header(MpegEncContext * s) | |||||
return 0; | return 0; | ||||
} | } | ||||
int msmpeg4_decode_ext_header(MpegEncContext * s, int buf_size) | |||||
int ff_msmpeg4_decode_ext_header(MpegEncContext * s, int buf_size) | |||||
{ | { | ||||
int left= buf_size*8 - get_bits_count(&s->gb); | int left= buf_size*8 - get_bits_count(&s->gb); | ||||
int length= s->msmpeg4_version>=3 ? 17 : 16; | int length= s->msmpeg4_version>=3 ? 17 : 16; | ||||