From f4eb9354be082f373186f794ffbfd91e6c64f9eb Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Mon, 9 Dec 2013 17:05:15 +0200 Subject: [PATCH] libva-driver-intel: fix BOB deinterlacing by correctly setting top field first removes stuttering, thx to arad85 for digging it up thx fritsch --- .../patches.upstream/0007-fix_top_field.patch | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 packages/multimedia/libva-driver-intel/patches.upstream/0007-fix_top_field.patch diff --git a/packages/multimedia/libva-driver-intel/patches.upstream/0007-fix_top_field.patch b/packages/multimedia/libva-driver-intel/patches.upstream/0007-fix_top_field.patch new file mode 100644 index 0000000000..2d8c6c868c --- /dev/null +++ b/packages/multimedia/libva-driver-intel/patches.upstream/0007-fix_top_field.patch @@ -0,0 +1,35 @@ +diff --git a/src/gen75_vpp_vebox.c b/src/gen75_vpp_vebox.c +index a973ed4..ff1dd11 100644 +--- a/src/gen75_vpp_vebox.c ++++ b/src/gen75_vpp_vebox.c +@@ -140,7 +140,7 @@ void hsw_veb_dndi_table(VADriverContextP ctx, struct intel_vebox_context *proc_c + assert(di_param); + + progressive_dn = 0; +- dndi_top_first = !(di_param->flags & VA_DEINTERLACING_BOTTOM_FIELD_FIRST); ++ dndi_top_first = !(di_param->flags & VA_DEINTERLACING_BOTTOM_FIELD); + } + + /* +diff --git a/src/i965_post_processing.c b/src/i965_post_processing.c +index 536eb64..ccdd54c 100755 +--- a/src/i965_post_processing.c ++++ b/src/i965_post_processing.c +@@ -3215,7 +3215,7 @@ pp_nv12_dndi_initialize(VADriverContextP ctx, struct i965_post_processing_contex + int dndi_top_first = 1; + VAProcFilterParameterBufferDeinterlacing *di_filter_param = (VAProcFilterParameterBufferDeinterlacing *)filter_param; + +- if (di_filter_param->flags & VA_DEINTERLACING_BOTTOM_FIELD_FIRST) ++ if (di_filter_param->flags & VA_DEINTERLACING_BOTTOM_FIELD) + dndi_top_first = 0; + else + dndi_top_first = 1; +@@ -3617,7 +3617,7 @@ gen7_pp_nv12_dndi_initialize(VADriverContextP ctx, struct i965_post_processing_c + VAProcFilterParameterBufferDeinterlacing *di_filter_param = (VAProcFilterParameterBufferDeinterlacing *)filter_param; + int is_first_frame = (pp_dndi_context->frame_order == -1); + +- if (di_filter_param->flags & VA_DEINTERLACING_BOTTOM_FIELD_FIRST) ++ if (di_filter_param->flags & VA_DEINTERLACING_BOTTOM_FIELD) + dndi_top_first = 0; + else + dndi_top_first = 1;