From 97403839e5e8ac90e3b8cbff3014428edc1f45c9 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 28 Feb 2017 00:56:17 +0100 Subject: vf_vavpp: fix first-field mode It didn't deinterlace at all. Oops. --- video/filter/vf_vavpp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/video/filter/vf_vavpp.c b/video/filter/vf_vavpp.c index 8f43b7f4ce..e3c107c91d 100644 --- a/video/filter/vf_vavpp.c +++ b/video/filter/vf_vavpp.c @@ -52,7 +52,7 @@ struct pipeline { }; struct vf_priv_s { - int deint_type; // 0: none, 1: discard, 2: double fps + int deint_type; int interlaced_only; int reversal_bug; bool do_deint; @@ -94,7 +94,7 @@ static void add_surfaces(struct vf_priv_s *p, struct surface_refs *refs, int dir // The array items must match with the "deint" suboption values. static const int deint_algorithm[] = { [0] = VAProcDeinterlacingNone, - [1] = VAProcDeinterlacingNone, // first-field, special-cased + [1] = VAProcDeinterlacingBob, // first-field, special-cased [2] = VAProcDeinterlacingBob, [3] = VAProcDeinterlacingWeave, [4] = VAProcDeinterlacingMotionAdaptive, @@ -433,7 +433,7 @@ static bool initialize(struct vf_instance *vf) buffers[i] = VA_INVALID_ID; for (int i = 0; i < num_filters; i++) { if (filters[i] == VAProcFilterDeinterlacing) { - if (p->deint_type < 2) + if (p->deint_type < 1) continue; VAProcFilterCapDeinterlacing caps[VAProcDeinterlacingCount]; int num = va_query_filter_caps(vf, VAProcFilterDeinterlacing, caps, -- cgit v1.2.3