From b490be6a8beaea79b19d5a26ba4050de9df55ac2 Mon Sep 17 00:00:00 2001 From: Zhao Yakui Date: Tue, 17 Dec 2013 14:32:35 +0800 Subject: [PATCH 1/1] Enable the Intra-prediction for MPEG2 P-B frame on BDW This is picked up from the implementation on Haswell/Ivybridge. Signed-off-by: Zhao Yakui --- src/gen8_mfc.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/gen8_mfc.c b/src/gen8_mfc.c index 4b2d1b7..0911924 100644 --- a/src/gen8_mfc.c +++ b/src/gen8_mfc.c @@ -2115,7 +2115,26 @@ gen8_mfc_mpeg2_pipeline_slice_group(VADriverContextP ctx, 0xff, slice_batch); } else { - gen8_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) + gen8_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 + gen8_mfc_mpeg2_pak_object_inter(ctx, encode_state, encoder_context, msg, -- 2.7.4