From 464baa6650b4c5ac2448d5c3292d22b7f84357ae Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 7 Feb 2010 17:40:22 +0000 Subject: Set direct MB partitioning for 16x8 and 8x16 colocated MBs to the respective true partitioning. Originally committed as revision 21675 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/h264_direct.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libavcodec/h264_direct.c') diff --git a/libavcodec/h264_direct.c b/libavcodec/h264_direct.c index 87caf99b07..e2b33cee8c 100644 --- a/libavcodec/h264_direct.c +++ b/libavcodec/h264_direct.c @@ -193,6 +193,9 @@ single_col: }else if(!is_b8x8 && (mb_type_col[0] & MB_TYPE_16x16_OR_INTRA)){ sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */ *mb_type |= MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_16x16 */ + }else if(!is_b8x8 && (mb_type_col[0] & (MB_TYPE_16x8|MB_TYPE_8x16))){ + sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */ + *mb_type |= MB_TYPE_L0L1|MB_TYPE_DIRECT2 | (mb_type_col[0] & (MB_TYPE_16x8|MB_TYPE_8x16)); }else{ sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */ *mb_type |= MB_TYPE_8x8|MB_TYPE_L0L1; -- cgit v1.2.3