summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-02-28 00:56:17 +0100
committerwm4 <wm4@nowhere>2017-02-28 00:57:51 +0100
commit97403839e5e8ac90e3b8cbff3014428edc1f45c9 (patch)
tree43636d519b5d7d6c42636b6566111048869a96d9 /video
parent75fc2bee1e47f93f1ad40331cbb34667c810ca9a (diff)
downloadmpv-97403839e5e8ac90e3b8cbff3014428edc1f45c9.tar.bz2
mpv-97403839e5e8ac90e3b8cbff3014428edc1f45c9.tar.xz
vf_vavpp: fix first-field mode
It didn't deinterlace at all. Oops.
Diffstat (limited to 'video')
-rw-r--r--video/filter/vf_vavpp.c6
1 files 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,