mirror of https://git.ffmpeg.org/ffmpeg.git
avoid clearing block[] if its not used at all
Originally committed as revision 4148 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
e2e5894a91
commit
2de4ba7ff7
|
@ -1140,6 +1140,12 @@ static int mpeg_decode_mb(MpegEncContext *s,
|
||||||
dprintf("mb_type=%x\n", mb_type);
|
dprintf("mb_type=%x\n", mb_type);
|
||||||
// motion_type = 0; /* avoid warning */
|
// motion_type = 0; /* avoid warning */
|
||||||
if (IS_INTRA(mb_type)) {
|
if (IS_INTRA(mb_type)) {
|
||||||
|
s->dsp.clear_blocks(s->block[0]);
|
||||||
|
|
||||||
|
if(!s->chroma_y_shift){
|
||||||
|
s->dsp.clear_blocks(s->block[6]);
|
||||||
|
}
|
||||||
|
|
||||||
/* compute dct type */
|
/* compute dct type */
|
||||||
if (s->picture_structure == PICT_FRAME && //FIXME add a interlaced_dct coded var?
|
if (s->picture_structure == PICT_FRAME && //FIXME add a interlaced_dct coded var?
|
||||||
!s->frame_pred_frame_dct) {
|
!s->frame_pred_frame_dct) {
|
||||||
|
@ -1357,8 +1363,13 @@ static int mpeg_decode_mb(MpegEncContext *s,
|
||||||
}
|
}
|
||||||
|
|
||||||
s->mb_intra = 0;
|
s->mb_intra = 0;
|
||||||
|
|
||||||
if (HAS_CBP(mb_type)) {
|
if (HAS_CBP(mb_type)) {
|
||||||
|
s->dsp.clear_blocks(s->block[0]);
|
||||||
|
|
||||||
|
if(!s->chroma_y_shift){
|
||||||
|
s->dsp.clear_blocks(s->block[6]);
|
||||||
|
}
|
||||||
|
|
||||||
cbp = get_vlc2(&s->gb, mb_pat_vlc.table, MB_PAT_VLC_BITS, 1);
|
cbp = get_vlc2(&s->gb, mb_pat_vlc.table, MB_PAT_VLC_BITS, 1);
|
||||||
if (cbp < 0 || ((cbp == 0) && (s->chroma_format < 2)) ){
|
if (cbp < 0 || ((cbp == 0) && (s->chroma_format < 2)) ){
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "invalid cbp at %d %d\n", s->mb_x, s->mb_y);
|
av_log(s->avctx, AV_LOG_ERROR, "invalid cbp at %d %d\n", s->mb_x, s->mb_y);
|
||||||
|
@ -2578,10 +2589,6 @@ static int mpeg_decode_slice(Mpeg1Context *s1, int mb_y,
|
||||||
XVMC_init_block(s);//set s->block
|
XVMC_init_block(s);//set s->block
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
s->dsp.clear_blocks(s->block[0]);
|
|
||||||
if(!s->chroma_y_shift){
|
|
||||||
s->dsp.clear_blocks(s->block[6]);
|
|
||||||
}
|
|
||||||
ret = mpeg_decode_mb(s, s->block);
|
ret = mpeg_decode_mb(s, s->block);
|
||||||
s->chroma_qscale= s->qscale;
|
s->chroma_qscale= s->qscale;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue