annotate libmpcodecs/vf_lavcdeint.c @ 9278:caea8ed36b48

The reason why mplayer crashes (in some cases) when using x11 output and -wid (>0) parameter is this: Mplayer by default creates a colormap using DirectColor visual. If the window given to mplayer uses TrueColor visual there will be an error when mplayer sets the colormap for the window. This patch modifies mplayer to use TrueColor visual if the window given to mplayer uses TrueColor. Another solution is to make sure that the window given to mplayer is created using DirectColor visual if it is supported by the display. Jouni Tulkki <jitulkki@cc.hut.fi>
author arpi
date Tue, 04 Feb 2003 18:31:44 +0000
parents e280692c0878
children e9a2af584986
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6859
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
1 #include <stdio.h>
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
2 #include <stdlib.h>
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
3 #include <string.h>
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
4 #include <inttypes.h>
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
5
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
6 #include "../config.h"
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
7 #include "../mp_msg.h"
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
8 #include "../help_mp.h"
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
9
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
10 #ifdef USE_LIBAVCODEC
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
11
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
12 #include "img_format.h"
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
13 #include "mp_image.h"
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
14 #include "vf.h"
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
15
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
16 //#include "../libvo/fastmemcpy.h"
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
17
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
18 #ifdef USE_LIBAVCODEC_SO
7004
8eff71f38685 dynamic libavcodec.so support updated by
arpi
parents: 6860
diff changeset
19 #include <ffmpeg/avcodec.h>
6859
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
20 #else
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
21 #include "libavcodec/avcodec.h"
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
22 #endif
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
23
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
24 extern int avcodec_inited;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
25
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
26 struct vf_priv_s
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
27 {
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
28 int width, height;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
29 int pix_fmt;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
30 };
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
31
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
32 /* Support for avcodec's built-in deinterlacer.
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
33 * Based on vf_lavc.c
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
34 */
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
35
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
36 //===========================================================================//
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
37
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
38
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
39 /* Convert mplayer's IMGFMT_* to avcodec's PIX_FMT_* for the supported
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
40 * IMGFMT's, and return -1 if the deinterlacer doesn't support
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
41 * that format (-1 because 0 is a valid PIX_FMT).
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
42 */
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
43 /* The deinterlacer supports planer 4:2:0, 4:2:2, and 4:4:4 YUV */
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
44 static int
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
45 imgfmt_to_pixfmt (int imgfmt)
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
46 {
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
47 switch(imgfmt)
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
48 {
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
49 /* I hope I got all the supported formats */
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
50
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
51 /* 4:2:0 */
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
52 case IMGFMT_YV12:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
53 case IMGFMT_I420:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
54 case IMGFMT_IYUV:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
55 return PIX_FMT_YUV420P;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
56 break;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
57
6860
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
58 #if 0
6859
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
59 /* 4:2:2 */
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
60 case IMGFMT_UYVY:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
61 case IMGFMT_UYNV:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
62 case IMGFMT_Y422:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
63 case IMGFMT_YUY2:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
64 case IMGFMT_YUNV:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
65 case IMGFMT_YVYU:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
66 case IMGFMT_Y42T:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
67 case IMGFMT_V422:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
68 case IMGFMT_V655:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
69 return PIX_FMT_YUV422P;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
70 break;
6860
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
71 #endif
6859
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
72
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
73 /* Are there any _planar_ YUV 4:4:4 formats? */
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
74
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
75 default:
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
76 return -1;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
77 }
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
78 }
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
79
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
80
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
81 static int
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
82 config (struct vf_instance_s* vf,
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
83 int width, int height, int d_width, int d_height,
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
84 unsigned int flags, unsigned int outfmt)
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
85 {
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
86 struct vf_priv_s *priv = vf->priv;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
87
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
88 priv->pix_fmt = imgfmt_to_pixfmt(outfmt);
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
89 if(priv->pix_fmt == -1)
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
90 return 0;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
91
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
92 /* The deinterlacer will fail if this is false */
8787
e280692c0878 Found another 10l :-), but the filter is still broken :-(
filon
parents: 8427
diff changeset
93 if ((width & 3) != 0 || (height & 3) != 0)
6859
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
94 return 0;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
95
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
96 /* If we get here, the deinterlacer is guaranteed not to fail */
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
97
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
98 priv->width = width;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
99 priv->height = height;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
100
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
101 return vf_next_config(vf,
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
102 width, height,
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
103 d_width, d_height,
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
104 flags, outfmt);
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
105 }
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
106
7368
a894e99c1e51 changing return type of put_image void->int
arpi
parents: 7004
diff changeset
107 static int
6859
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
108 put_image (struct vf_instance_s* vf, mp_image_t *mpi)
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
109 {
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
110 struct vf_priv_s *priv = vf->priv;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
111 mp_image_t* dmpi;
6860
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
112 AVPicture pic;
6859
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
113 AVPicture lavc_picture;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
114
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
115 lavc_picture.data[0] = mpi->planes[0];
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
116 lavc_picture.data[1] = mpi->planes[1];
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
117 lavc_picture.data[2] = mpi->planes[2];
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
118 lavc_picture.linesize[0] = mpi->stride[0];
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
119 lavc_picture.linesize[1] = mpi->stride[1];
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
120 lavc_picture.linesize[2] = mpi->stride[2];
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
121
6860
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
122 dmpi = vf_get_image(vf->next, mpi->imgfmt,
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
123 MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE,
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
124 priv->width, priv->height);
6859
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
125
6860
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
126 pic.data[0] = dmpi->planes[0];
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
127 pic.data[1] = dmpi->planes[1];
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
128 pic.data[2] = dmpi->planes[2];
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
129 pic.linesize[0] = dmpi->stride[0];
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
130 pic.linesize[1] = dmpi->stride[1];
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
131 pic.linesize[2] = dmpi->stride[2];
6859
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
132
6860
e575f4ee82f1 - yuv422 disabled (no IMGFMT for _planar_ 422)
arpi
parents: 6859
diff changeset
133 if (avpicture_deinterlace(&pic, &lavc_picture,
6859
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
134 priv->pix_fmt, priv->width, priv->height) < 0)
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
135 {
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
136 /* This should not happen -- see config() */
7368
a894e99c1e51 changing return type of put_image void->int
arpi
parents: 7004
diff changeset
137 return 0;
6859
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
138 }
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
139
7368
a894e99c1e51 changing return type of put_image void->int
arpi
parents: 7004
diff changeset
140 return vf_next_put_image(vf, dmpi);
6859
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
141 }
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
142
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
143
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
144 static int
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
145 query_format (struct vf_instance_s* vf, unsigned int fmt)
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
146 {
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
147 if(imgfmt_to_pixfmt(fmt) == -1)
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
148 return 0;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
149
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
150 return vf_next_query_format(vf,fmt);
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
151 }
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
152
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
153
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
154 static int
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
155 open (vf_instance_t *vf, char* args)
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
156 {
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
157 /* We don't have any args */
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
158 (void) args;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
159
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
160 vf->config = config;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
161 vf->put_image = put_image;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
162 vf->query_format = query_format;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
163 vf->priv = malloc(sizeof(struct vf_priv_s));
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
164 memset(vf->priv,0,sizeof(struct vf_priv_s));
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
165
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
166 /* This may not technically be necessary just for a deinterlace,
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
167 * but it seems like a good idea.
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
168 */
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
169 if(!avcodec_inited)
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
170 {
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
171 avcodec_init();
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
172 avcodec_register_all();
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
173 avcodec_inited=1;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
174 }
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
175
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
176 return 1;
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
177 }
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
178
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
179
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
180 vf_info_t vf_info_lavcdeint = {
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
181 "libavcodec's deinterlacing filter",
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
182 "lavcdeint",
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
183 "Joe Rabinoff",
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
184 "libavcodec's internal deinterlacer, in case you don't like "
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
185 "the builtin ones (invoked with -pp or -npp)",
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
186 open
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
187 };
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
188
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
189
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
190 //===========================================================================//
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
191
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
192 #endif /* USE_LIBAVCODEC */
ed26b2d781e9 new filter to use libavcodec's deinterlacer
arpi
parents:
diff changeset
193