mpeg2enc: forward and backword referenc follow the picture type
authorXiang, Haihao <haihao.xiang@intel.com>
Wed, 5 Dec 2012 08:15:32 +0000 (16:15 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Fri, 7 Dec 2012 08:05:35 +0000 (16:05 +0800)
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
test/encode/mpeg2enc.c

index f7f7d51..aace552 100644 (file)
@@ -966,16 +966,23 @@ mpeg2enc_update_picture_parameter(struct mpeg2enc_context *ctx,
         pic_param->f_code[0][1] = 0xf;
         pic_param->f_code[1][0] = 0xf;
         pic_param->f_code[1][1] = 0xf;
+        pic_param->forward_reference_picture = VA_INVALID_SURFACE;
+        pic_param->backward_reference_picture = VA_INVALID_SURFACE;
+
     } else if (pic_param->picture_type == VAEncPictureTypePredictive) {
         pic_param->f_code[0][0] = 0x1;
         pic_param->f_code[0][1] = 0x1;
         pic_param->f_code[1][0] = 0xf;
         pic_param->f_code[1][1] = 0xf;
+        pic_param->forward_reference_picture = surface_ids[SID_REFERENCE_PICTURE_L0];
+        pic_param->backward_reference_picture = VA_INVALID_SURFACE;
     } else if (pic_param->picture_type == VAEncPictureTypeBidirectional) {
         pic_param->f_code[0][0] = 0x1;
         pic_param->f_code[0][1] = 0x1;
         pic_param->f_code[1][0] = 0x1;
         pic_param->f_code[1][1] = 0x1;
+        pic_param->forward_reference_picture = surface_ids[SID_REFERENCE_PICTURE_L0];
+        pic_param->backward_reference_picture = surface_ids[SID_REFERENCE_PICTURE_L1];
     } else {
         assert(0);
     }