From f750d1b69e1aae65463eab224013b506481d8459 Mon Sep 17 00:00:00 2001 From: "Xiang, Haihao" Date: Tue, 8 Jan 2013 10:31:43 +0800 Subject: [PATCH] Always set Fix_Prev_Mb_skipped in AVC_BSD_OBJECT command Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57720 Signed-off-by: Xiang, Haihao --- src/gen6_mfd.c | 1 + src/gen75_mfd.c | 1 + src/gen7_mfd.c | 1 + src/i965_avc_bsd.c | 4 ++-- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gen6_mfd.c b/src/gen6_mfd.c index 1eb75e4..986b38b 100755 --- a/src/gen6_mfd.c +++ b/src/gen6_mfd.c @@ -1881,6 +1881,7 @@ gen6_mfd_vc1_bsd_object(VADriverContextP ctx, OUT_BCS_BATCH(batch, slice_param->slice_vertical_position << 24 | next_slice_start_vert_pos << 16 | + (1 << 7) | (macroblock_offset & 0x7)); ADVANCE_BCS_BATCH(batch); } diff --git a/src/gen75_mfd.c b/src/gen75_mfd.c index 82d9955..e53139a 100644 --- a/src/gen75_mfd.c +++ b/src/gen75_mfd.c @@ -1147,6 +1147,7 @@ gen75_mfd_avc_bsd_object(VADriverContextP ctx, (0 << 8)); OUT_BCS_BATCH(batch, ((slice_data_bit_offset >> 3) << 16) | + (1 << 7) | (0 << 5) | (0 << 4) | ((next_slice_param == NULL) << 3) | /* LastSlice Flag */ diff --git a/src/gen7_mfd.c b/src/gen7_mfd.c index aec9694..0a0e44f 100755 --- a/src/gen7_mfd.c +++ b/src/gen7_mfd.c @@ -813,6 +813,7 @@ gen7_mfd_avc_bsd_object(VADriverContextP ctx, (0 << 8)); OUT_BCS_BATCH(batch, ((slice_data_bit_offset >> 3) << 16) | + (1 << 7) | (0 << 5) | (0 << 4) | ((next_slice_param == NULL) << 3) | /* LastSlice Flag */ diff --git a/src/i965_avc_bsd.c b/src/i965_avc_bsd.c index 77bc221..ec92f74 100644 --- a/src/i965_avc_bsd.c +++ b/src/i965_avc_bsd.c @@ -636,7 +636,7 @@ g4x_avc_bsd_object(VADriverContextP ctx, (slice_hor_pos << 16) | (first_mb_in_slice << 0)); OUT_BCS_BATCH(batch, - (0 << 7) | /* FIXME: ??? */ + (1 << 7) | ((0x7 - (slice_data_bit_offset & 0x7)) << 0)); if (encrypted) { @@ -764,7 +764,7 @@ ironlake_avc_bsd_object(VADriverContextP ctx, (slice_hor_pos << 16) | (first_mb_in_slice << 0)); OUT_BCS_BATCH(batch, - (0 << 7) | /* FIXME: ??? */ + (1 << 7) | ((0x7 - (slice_data_bit_offset & 0x7)) << 0)); OUT_BCS_BATCH(batch, counter_value); -- 2.7.4