diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2008-12-18 18:25:11 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2008-12-18 18:25:11 +0000 |
commit | c25ac15a07440eb10c8c713b9500c58a2f3f95a1 (patch) | |
tree | 859d6792d5f45528b0a031c5469533bc64765da8 /libavcodec | |
parent | aebb5d6d9615d10d6efa2fa7c083455b8824dfda (diff) | |
download | ffmpeg-c25ac15a07440eb10c8c713b9500c58a2f3f95a1.tar.gz |
Move idct_(dc)add closer to where it is needed.
Originally committed as revision 16223 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/h264.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 8db71546b0..de7e0bed30 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -2561,22 +2561,22 @@ static av_always_inline void hl_decode_mb_internal(H264Context *h, int simple){ if((simple || !ENABLE_GRAY || !(s->flags&CODEC_FLAG_GRAY)) && (h->cbp&0x30)){ uint8_t *dest[2] = {dest_cb, dest_cr}; if(transform_bypass){ - idct_add = s->dsp.add_pixels4; if(IS_INTRA(mb_type) && h->sps.profile_idc==244 && (h->chroma_pred_mode==VERT_PRED8x8 || h->chroma_pred_mode==HOR_PRED8x8)){ h->hpc.pred8x8_add[h->chroma_pred_mode](dest[0], block_offset + 16, h->mb + 16*16, uvlinesize); h->hpc.pred8x8_add[h->chroma_pred_mode](dest[1], block_offset + 20, h->mb + 20*16, uvlinesize); }else{ + idct_add = s->dsp.add_pixels4; for(i=16; i<16+8; i++){ if(h->non_zero_count_cache[ scan8[i] ] || h->mb[i*16]) idct_add (dest[(i&4)>>2] + block_offset[i], h->mb + i*16, uvlinesize); } } }else{ - idct_add = s->dsp.h264_idct_add; - idct_dc_add = s->dsp.h264_idct_dc_add; chroma_dc_dequant_idct_c(h->mb + 16*16, h->chroma_qp[0], h->dequant4_coeff[IS_INTRA(mb_type) ? 1:4][h->chroma_qp[0]][0]); chroma_dc_dequant_idct_c(h->mb + 16*16+4*16, h->chroma_qp[1], h->dequant4_coeff[IS_INTRA(mb_type) ? 2:5][h->chroma_qp[1]][0]); if(is_h264){ + idct_add = s->dsp.h264_idct_add; + idct_dc_add = s->dsp.h264_idct_dc_add; for(i=16; i<16+8; i++){ if(h->non_zero_count_cache[ scan8[i] ]) idct_add (dest[(i&4)>>2] + block_offset[i], h->mb + i*16, uvlinesize); |