diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2010-02-14 19:51:31 +0300 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2010-02-14 19:51:31 +0300 |
commit | a59b9ee33d2442ab89a5a367eac3bc08c6b581da (patch) | |
tree | 4ea63cc78461e0f7479bcc6477cf18f8d0a3cc4f /libavcodec/h264_cabac.c | |
parent | 2dc380ca8ea9d161c337a47a111f83d2e84ceb9c (diff) |
Set sub_mb_type in direct_cache instead of just the direct flag.
Simpler, cleaner and faster.
Originally committed as revision 21822 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h264_cabac.c')
-rw-r--r-- | libavcodec/h264_cabac.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/libavcodec/h264_cabac.c b/libavcodec/h264_cabac.c index c0a1332a4d..3f74818f6b 100644 --- a/libavcodec/h264_cabac.c +++ b/libavcodec/h264_cabac.c @@ -1447,11 +1447,8 @@ decode_intra_mb: h->ref_cache[1][scan8[4]] = h->ref_cache[0][scan8[12]] = h->ref_cache[1][scan8[12]] = PART_NOT_AVAILABLE; - if( h->ref_count[0] > 1 || h->ref_count[1] > 1 ) { for( i = 0; i < 4; i++ ) - if( IS_DIRECT(h->sub_mb_type[i]) ) - fill_rectangle( &h->direct_cache[scan8[4*i]], 2, 2, 8, MB_TYPE_DIRECT2>>1, 1 ); - } + fill_rectangle( &h->direct_cache[scan8[4*i]], 2, 2, 8, (h->sub_mb_type[i]>>1)&0xFF, 1 ); } } else { for( i = 0; i < 4; i++ ) { |