summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhao Yakui <yakui.zhao@intel.com>2013-08-12 15:13:23 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2013-09-06 15:31:49 +0800
commit68d570f80382f95a87d2ddccb778445f8a996afd (patch)
treee82a1da5863274b85fabbec9a17d9e7909497fbf
parent272c5a63d1854c391fc302ebdd3a48005a356444 (diff)
Enable the Intra-prediction for MPEG2 P-B frame
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> (cherry picked from commit c074d4d61ad931d044fbe0836a45c49768090b4b)
-rw-r--r--src/gen75_mfc.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/gen75_mfc.c b/src/gen75_mfc.c
index 255b64c..e4cdca5 100644
--- a/src/gen75_mfc.c
+++ b/src/gen75_mfc.c
@@ -2240,7 +2240,26 @@ gen75_mfc_mpeg2_pipeline_slice_group(VADriverContextP ctx,
0xff,
slice_batch);
} else {
- gen75_mfc_mpeg2_pak_object_inter(ctx,
+ int inter_rdo, intra_rdo;
+ inter_rdo = msg[AVC_INTER_RDO_OFFSET] & AVC_RDO_MASK;
+ intra_rdo = msg[AVC_INTRA_RDO_OFFSET] & AVC_RDO_MASK;
+
+ if (intra_rdo < inter_rdo)
+ gen75_mfc_mpeg2_pak_object_intra(ctx,
+ encoder_context,
+ h_pos, v_pos,
+ first_mb_in_slice,
+ last_mb_in_slice,
+ first_mb_in_slice_group,
+ last_mb_in_slice_group,
+ 0x1a,
+ slice_param->quantiser_scale_code,
+ 0x3f,
+ 0,
+ 0xff,
+ slice_batch);
+ else
+ gen75_mfc_mpeg2_pak_object_inter(ctx,
encode_state,
encoder_context,
msg,