No overlap smoothing for B frame in Main and Simple profiles
authorXiang, Haihao <haihao.xiang@intel.com>
Wed, 9 Jan 2013 07:44:29 +0000 (15:44 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Wed, 9 Jan 2013 08:09:19 +0000 (16:09 +0800)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58448
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(cherry picked from commit 660cb88ec00a896eefc9580e691d0a07fb2870ec)

src/gen6_mfd.c
src/gen75_mfd.c
src/gen7_mfd.c

index ac3a68b..bd35c5c 100755 (executable)
@@ -1685,8 +1685,9 @@ gen6_mfd_vc1_pic_state(VADriverContextP ctx,
 
     overlap = 0;
     if (profile != GEN6_VC1_ADVANCED_PROFILE){
-       if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){
-           overlap = 1; 
+        if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9 &&
+            pic_param->picture_fields.bits.picture_type != GEN6_VC1_B_PICTURE) {
+            overlap = 1; 
         }
     }else {
         if (pic_param->picture_fields.bits.picture_type == GEN6_VC1_P_PICTURE &&
index b62fe02..7ebb620 100644 (file)
@@ -1984,8 +1984,9 @@ gen75_mfd_vc1_pic_state(VADriverContextP ctx,
 
     overlap = 0;
     if (profile != GEN7_VC1_ADVANCED_PROFILE){
-       if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){
-           overlap = 1; 
+        if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9 &&
+            pic_param->picture_fields.bits.picture_type != GEN7_VC1_B_PICTURE) {
+            overlap = 1; 
         }
     }else {
         if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_P_PICTURE &&
index 12dc3af..6b6aded 100755 (executable)
@@ -1663,8 +1663,9 @@ gen7_mfd_vc1_pic_state(VADriverContextP ctx,
 
     overlap = 0;
     if (profile != GEN7_VC1_ADVANCED_PROFILE){
-       if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){
-           overlap = 1; 
+        if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9 &&
+            pic_param->picture_fields.bits.picture_type != GEN7_VC1_B_PICTURE) {
+            overlap = 1; 
         }
     }else {
         if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_P_PICTURE &&