annotate libmpcodecs/vf_vo.c @ 18049:77a3b0d11ca5

Limit the number of entires to the amount that does fit into the chunk. the function need rewrite as it assumes quite many things that are not guaranteed by the specifications.
author iive
date Thu, 06 Apr 2006 20:04:02 +0000
parents 20aca9baf5d8
children d9a75b26da6c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
1 #include <stdio.h>
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
2 #include <stdlib.h>
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
3 #include <string.h>
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
4
17012
6ff3379a0862 Unify include path handling, -I.. is in CFLAGS.
diego
parents: 15212
diff changeset
5 #include "config.h"
6ff3379a0862 Unify include path handling, -I.. is in CFLAGS.
diego
parents: 15212
diff changeset
6 #include "mp_msg.h"
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
7
5607
1972c3475d93 mp_image.h and img_format.h moved to libmpcodecs
arpi
parents: 5565
diff changeset
8 #include "mp_image.h"
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
9 #include "vf.h"
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
10
17012
6ff3379a0862 Unify include path handling, -I.. is in CFLAGS.
diego
parents: 15212
diff changeset
11 #include "libvo/video_out.h"
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
12
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
13 //===========================================================================//
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
14
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
15 #define video_out ((vo_functions_t*)(vf->priv))
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
16
7731
1f8961f2b34c compiler warning fixes
arpi
parents: 7687
diff changeset
17 static int query_format(struct vf_instance_s* vf, unsigned int fmt); /* forward declaration */
1f8961f2b34c compiler warning fixes
arpi
parents: 7687
diff changeset
18
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
19 static int config(struct vf_instance_s* vf,
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
20 int width, int height, int d_width, int d_height,
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
21 unsigned int flags, unsigned int outfmt){
5559
7a73663095fc print VO info
arpi
parents: 5519
diff changeset
22
6197
48d0e89e8b21 report error if bad dimensions requested (<=0)
alex
parents: 6157
diff changeset
23 if ((width <= 0) || (height <= 0) || (d_width <= 0) || (d_height <= 0))
48d0e89e8b21 report error if bad dimensions requested (<=0)
alex
parents: 6157
diff changeset
24 {
48d0e89e8b21 report error if bad dimensions requested (<=0)
alex
parents: 6157
diff changeset
25 mp_msg(MSGT_CPLAYER, MSGL_ERR, "VO: invalid dimensions!\n");
48d0e89e8b21 report error if bad dimensions requested (<=0)
alex
parents: 6157
diff changeset
26 return 0;
48d0e89e8b21 report error if bad dimensions requested (<=0)
alex
parents: 6157
diff changeset
27 }
48d0e89e8b21 report error if bad dimensions requested (<=0)
alex
parents: 6157
diff changeset
28
8148
5b39e79af5fe removed get_info, using the same sheme as in libmpcodecs instead
alex
parents: 7731
diff changeset
29 if(video_out->info)
5b39e79af5fe removed get_info, using the same sheme as in libmpcodecs instead
alex
parents: 7731
diff changeset
30 { const vo_info_t *info = video_out->info;
5559
7a73663095fc print VO info
arpi
parents: 5519
diff changeset
31 mp_msg(MSGT_CPLAYER,MSGL_INFO,"VO: [%s] %dx%d => %dx%d %s %s%s%s%s\n",info->short_name,
7a73663095fc print VO info
arpi
parents: 5519
diff changeset
32 width, height,
7a73663095fc print VO info
arpi
parents: 5519
diff changeset
33 d_width, d_height,
7a73663095fc print VO info
arpi
parents: 5519
diff changeset
34 vo_format_name(outfmt),
15212
05aa13cdf92f replace VO and VF numeric flags with #defined identifiers
henry
parents: 10052
diff changeset
35 (flags&VOFLAG_FULLSCREEN)?" [fs]":"",
05aa13cdf92f replace VO and VF numeric flags with #defined identifiers
henry
parents: 10052
diff changeset
36 (flags&VOFLAG_MODESWITCHING)?" [vm]":"",
05aa13cdf92f replace VO and VF numeric flags with #defined identifiers
henry
parents: 10052
diff changeset
37 (flags&VOFLAG_SWSCALE)?" [zoom]":"",
05aa13cdf92f replace VO and VF numeric flags with #defined identifiers
henry
parents: 10052
diff changeset
38 (flags&VOFLAG_FLIPPING)?" [flip]":"");
5559
7a73663095fc print VO info
arpi
parents: 5519
diff changeset
39 mp_msg(MSGT_CPLAYER,MSGL_V,"VO: Description: %s\n",info->name);
7a73663095fc print VO info
arpi
parents: 5519
diff changeset
40 mp_msg(MSGT_CPLAYER,MSGL_V,"VO: Author: %s\n", info->author);
7a73663095fc print VO info
arpi
parents: 5519
diff changeset
41 if(info->comment && strlen(info->comment) > 0)
7a73663095fc print VO info
arpi
parents: 5519
diff changeset
42 mp_msg(MSGT_CPLAYER,MSGL_V,"VO: Comment: %s\n", info->comment);
7a73663095fc print VO info
arpi
parents: 5519
diff changeset
43 }
7a73663095fc print VO info
arpi
parents: 5519
diff changeset
44
7687
a9a19a991a70 support for VFCAP_ACCEPT_STRIDE in vo drivers
arpi
parents: 7368
diff changeset
45 // save vo's stride capability for the wanted colorspace:
a9a19a991a70 support for VFCAP_ACCEPT_STRIDE in vo drivers
arpi
parents: 7368
diff changeset
46 vf->default_caps=query_format(vf,outfmt) & VFCAP_ACCEPT_STRIDE;
a9a19a991a70 support for VFCAP_ACCEPT_STRIDE in vo drivers
arpi
parents: 7368
diff changeset
47
7125
3aeb57cc8ac6 10l fix
alex
parents: 6832
diff changeset
48 if(video_out->config(width,height,d_width,d_height,flags,"MPlayer",outfmt))
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
49 return 0;
8148
5b39e79af5fe removed get_info, using the same sheme as in libmpcodecs instead
alex
parents: 7731
diff changeset
50
5511
7a24a067f0af vo_config_count now counts calls to vo->config()
arpi
parents: 5508
diff changeset
51 ++vo_config_count;
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
52 return 1;
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
53 }
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
54
6832
54578e5a8050 ... removed from vf's control(), sing struct for equalizer. based on patch by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>
arpi
parents: 6786
diff changeset
55 static int control(struct vf_instance_s* vf, int request, void* data)
6780
5bf3ed8a17c4 equalizer reworked
alex
parents: 6197
diff changeset
56 {
5643
3d9de27d9bd0 OSD handled by vf control()
arpi
parents: 5607
diff changeset
57 switch(request){
6780
5bf3ed8a17c4 equalizer reworked
alex
parents: 6197
diff changeset
58 #ifdef USE_OSD
5643
3d9de27d9bd0 OSD handled by vf control()
arpi
parents: 5607
diff changeset
59 case VFCTRL_DRAW_OSD:
6157
alex
parents: 6138
diff changeset
60 if(!vo_config_count) return CONTROL_FALSE; // vo not configured?
5643
3d9de27d9bd0 OSD handled by vf control()
arpi
parents: 5607
diff changeset
61 video_out->draw_osd();
3d9de27d9bd0 OSD handled by vf control()
arpi
parents: 5607
diff changeset
62 return CONTROL_TRUE;
6780
5bf3ed8a17c4 equalizer reworked
alex
parents: 6197
diff changeset
63 #endif
10052
b358b7509e1a sort of a hack, but at least this lets the framerate-increasing
rfelker
parents: 9593
diff changeset
64 case VFCTRL_FLIP_PAGE:
b358b7509e1a sort of a hack, but at least this lets the framerate-increasing
rfelker
parents: 9593
diff changeset
65 {
b358b7509e1a sort of a hack, but at least this lets the framerate-increasing
rfelker
parents: 9593
diff changeset
66 if(!vo_config_count) return CONTROL_FALSE; // vo not configured?
b358b7509e1a sort of a hack, but at least this lets the framerate-increasing
rfelker
parents: 9593
diff changeset
67 video_out->flip_page();
b358b7509e1a sort of a hack, but at least this lets the framerate-increasing
rfelker
parents: 9593
diff changeset
68 return CONTROL_TRUE;
b358b7509e1a sort of a hack, but at least this lets the framerate-increasing
rfelker
parents: 9593
diff changeset
69 }
6780
5bf3ed8a17c4 equalizer reworked
alex
parents: 6197
diff changeset
70 case VFCTRL_SET_EQUALIZER:
5bf3ed8a17c4 equalizer reworked
alex
parents: 6197
diff changeset
71 {
6832
54578e5a8050 ... removed from vf's control(), sing struct for equalizer. based on patch by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>
arpi
parents: 6786
diff changeset
72 vf_equalizer_t *eq=data;
6780
5bf3ed8a17c4 equalizer reworked
alex
parents: 6197
diff changeset
73 if(!vo_config_count) return CONTROL_FALSE; // vo not configured?
6832
54578e5a8050 ... removed from vf's control(), sing struct for equalizer. based on patch by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>
arpi
parents: 6786
diff changeset
74 return((video_out->control(VOCTRL_SET_EQUALIZER, eq->item, eq->value) == VO_TRUE) ? CONTROL_TRUE : CONTROL_FALSE);
6780
5bf3ed8a17c4 equalizer reworked
alex
parents: 6197
diff changeset
75 }
5bf3ed8a17c4 equalizer reworked
alex
parents: 6197
diff changeset
76 case VFCTRL_GET_EQUALIZER:
5bf3ed8a17c4 equalizer reworked
alex
parents: 6197
diff changeset
77 {
6832
54578e5a8050 ... removed from vf's control(), sing struct for equalizer. based on patch by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>
arpi
parents: 6786
diff changeset
78 vf_equalizer_t *eq=data;
6780
5bf3ed8a17c4 equalizer reworked
alex
parents: 6197
diff changeset
79 if(!vo_config_count) return CONTROL_FALSE; // vo not configured?
6832
54578e5a8050 ... removed from vf's control(), sing struct for equalizer. based on patch by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>
arpi
parents: 6786
diff changeset
80 return((video_out->control(VOCTRL_GET_EQUALIZER, eq->item, &eq->value) == VO_TRUE) ? CONTROL_TRUE : CONTROL_FALSE);
6780
5bf3ed8a17c4 equalizer reworked
alex
parents: 6197
diff changeset
81 }
5643
3d9de27d9bd0 OSD handled by vf control()
arpi
parents: 5607
diff changeset
82 }
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
83 // return video_out->control(request,data);
5519
868c13f78f08 vf control codes added, autoq support
arpi
parents: 5511
diff changeset
84 return CONTROL_UNKNOWN;
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
85 }
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
86
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
87 static int query_format(struct vf_instance_s* vf, unsigned int fmt){
5565
0b301fec999a capabilities support -> automatic insertion of scale, expand, pp
arpi
parents: 5559
diff changeset
88 int flags=video_out->control(VOCTRL_QUERY_FORMAT,&fmt);
0b301fec999a capabilities support -> automatic insertion of scale, expand, pp
arpi
parents: 5559
diff changeset
89 // draw_slice() accepts stride, draw_frame() doesn't:
0b301fec999a capabilities support -> automatic insertion of scale, expand, pp
arpi
parents: 5559
diff changeset
90 if(flags)
0b301fec999a capabilities support -> automatic insertion of scale, expand, pp
arpi
parents: 5559
diff changeset
91 if(fmt==IMGFMT_YV12 || fmt==IMGFMT_I420 || fmt==IMGFMT_IYUV)
0b301fec999a capabilities support -> automatic insertion of scale, expand, pp
arpi
parents: 5559
diff changeset
92 flags|=VFCAP_ACCEPT_STRIDE;
0b301fec999a capabilities support -> automatic insertion of scale, expand, pp
arpi
parents: 5559
diff changeset
93 return flags;
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
94 }
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
95
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
96 static void get_image(struct vf_instance_s* vf,
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
97 mp_image_t *mpi){
5511
7a24a067f0af vo_config_count now counts calls to vo->config()
arpi
parents: 5508
diff changeset
98 if(vo_directrendering && vo_config_count)
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
99 video_out->control(VOCTRL_GET_IMAGE,mpi);
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
100 }
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
101
7368
a894e99c1e51 changing return type of put_image void->int
arpi
parents: 7220
diff changeset
102 static int put_image(struct vf_instance_s* vf,
17906
20aca9baf5d8 passing pts through the filter layer (lets see if pts or cola comes out at the end)
michael
parents: 17012
diff changeset
103 mp_image_t *mpi, double pts){
7368
a894e99c1e51 changing return type of put_image void->int
arpi
parents: 7220
diff changeset
104 if(!vo_config_count) return 0; // vo not configured?
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
105 // first check, maybe the vo/vf plugin implements draw_image using mpi:
7368
a894e99c1e51 changing return type of put_image void->int
arpi
parents: 7220
diff changeset
106 if(video_out->control(VOCTRL_DRAW_IMAGE,mpi)==VO_TRUE) return 1; // done.
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
107 // nope, fallback to old draw_frame/draw_slice:
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
108 if(!(mpi->flags&(MP_IMGFLAG_DIRECT|MP_IMGFLAG_DRAW_CALLBACK))){
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
109 // blit frame:
7687
a9a19a991a70 support for VFCAP_ACCEPT_STRIDE in vo drivers
arpi
parents: 7368
diff changeset
110 // if(mpi->flags&MP_IMGFLAG_PLANAR)
a9a19a991a70 support for VFCAP_ACCEPT_STRIDE in vo drivers
arpi
parents: 7368
diff changeset
111 if(vf->default_caps&VFCAP_ACCEPT_STRIDE)
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
112 video_out->draw_slice(mpi->planes,mpi->stride,mpi->w,mpi->h,mpi->x,mpi->y);
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
113 else
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
114 video_out->draw_frame(mpi->planes);
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
115 }
7368
a894e99c1e51 changing return type of put_image void->int
arpi
parents: 7220
diff changeset
116 return 1;
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
117 }
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
118
9560
ae2ce6ebc1fa Pass start slice to the vo it make dr + slice implemantation easier
albeu
parents: 8148
diff changeset
119 static void start_slice(struct vf_instance_s* vf,
ae2ce6ebc1fa Pass start slice to the vo it make dr + slice implemantation easier
albeu
parents: 8148
diff changeset
120 mp_image_t *mpi) {
ae2ce6ebc1fa Pass start slice to the vo it make dr + slice implemantation easier
albeu
parents: 8148
diff changeset
121 if(!vo_config_count) return; // vo not configured?
ae2ce6ebc1fa Pass start slice to the vo it make dr + slice implemantation easier
albeu
parents: 8148
diff changeset
122 video_out->control(VOCTRL_START_SLICE,mpi);
ae2ce6ebc1fa Pass start slice to the vo it make dr + slice implemantation easier
albeu
parents: 8148
diff changeset
123 }
ae2ce6ebc1fa Pass start slice to the vo it make dr + slice implemantation easier
albeu
parents: 8148
diff changeset
124
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
125 static void draw_slice(struct vf_instance_s* vf,
7220
e3ecccc7e505 warning fixes by Dominik Mierzejewski <dominik@rangers.eu.org>
arpi
parents: 7125
diff changeset
126 unsigned char** src, int* stride, int w,int h, int x, int y){
5511
7a24a067f0af vo_config_count now counts calls to vo->config()
arpi
parents: 5508
diff changeset
127 if(!vo_config_count) return; // vo not configured?
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
128 video_out->draw_slice(src,stride,w,h,x,y);
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
129 }
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
130
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
131 //===========================================================================//
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
132
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
133 static int open(vf_instance_t *vf, char* args){
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
134 vf->config=config;
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
135 vf->control=control;
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
136 vf->query_format=query_format;
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
137 vf->get_image=get_image;
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
138 vf->put_image=put_image;
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
139 vf->draw_slice=draw_slice;
9560
ae2ce6ebc1fa Pass start slice to the vo it make dr + slice implemantation easier
albeu
parents: 8148
diff changeset
140 vf->start_slice=start_slice;
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
141 vf->priv=(void*)args; // video_out
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
142 if(!video_out) return 0; // no vo ?
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
143 // if(video_out->preinit(args)) return 0; // preinit failed
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
144 return 1;
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
145 }
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
146
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
147 vf_info_t vf_info_vo = {
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
148 "libvo wrapper",
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
149 "vo",
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
150 "A'rpi",
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
151 "for internal use",
9593
e9a2af584986 Add the new -vf option wich is the same as vop in reverse order.
albeu
parents: 9560
diff changeset
152 open,
e9a2af584986 Add the new -vf option wich is the same as vop in reverse order.
albeu
parents: 9560
diff changeset
153 NULL
5507
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
154 };
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
155
d0d029fda134 video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
arpi
parents:
diff changeset
156 //===========================================================================//