From 066c9f6532b11e1e3d0457520dea565cd29faea7 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 (cherry picked from commit f750d1b69e1aae65463eab224013b506481d8459) --- 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 3457566..ac3a68b 100755 --- a/src/gen6_mfd.c +++ b/src/gen6_mfd.c @@ -1919,6 +1919,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 d41ae67..b62fe02 100644 --- a/src/gen75_mfd.c +++ b/src/gen75_mfd.c @@ -1164,6 +1164,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 4a8bc27..12dc3af 100755 --- a/src/gen7_mfd.c +++ b/src/gen7_mfd.c @@ -841,6 +841,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 29a600b..9990318 100644 --- a/src/i965_avc_bsd.c +++ b/src/i965_avc_bsd.c @@ -633,7 +633,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) { @@ -761,7 +761,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