stream/tv: move new_handle() function from header to tv.c
[mplayer.git] / libmpcodecs / ve.c
blobd14055953064e1c644838c81c2310a2cbbffb87b
1 /*
2 * This file is part of MPlayer.
4 * MPlayer is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * MPlayer is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #include <stdio.h>
20 #include <stdlib.h>
21 #include <string.h>
23 #include "config.h"
24 #include "mp_msg.h"
26 #include "img_format.h"
27 #include "mp_image.h"
28 #include "vf.h"
30 extern vf_info_t ve_info_lavc;
31 extern vf_info_t ve_info_vfw;
32 extern vf_info_t ve_info_raw;
33 extern vf_info_t ve_info_libdv;
34 extern vf_info_t ve_info_xvid;
35 extern vf_info_t ve_info_qtvideo;
36 extern vf_info_t ve_info_nuv;
37 extern vf_info_t ve_info_x264;
39 /* Please do not add any new encoders here. If you want to implement a new
40 * encoder, add it to libavcodec, except for wrappers around external
41 * libraries and encoders requiring binary support. */
43 static vf_info_t* encoder_list[]={
44 #ifdef CONFIG_LIBAVCODEC
45 &ve_info_lavc,
46 #endif
47 #ifdef CONFIG_WIN32DLL
48 &ve_info_vfw,
49 #ifdef CONFIG_QTX_CODECS_WIN32
50 &ve_info_qtvideo,
51 #endif
52 #endif
53 #ifdef CONFIG_LIBDV095
54 &ve_info_libdv,
55 #endif
56 &ve_info_raw,
57 #ifdef CONFIG_XVID4
58 &ve_info_xvid,
59 #endif
60 #ifdef CONFIG_LIBLZO
61 &ve_info_nuv,
62 #endif
63 #ifdef CONFIG_X264
64 &ve_info_x264,
65 #endif
66 /* Please do not add any new encoders here. If you want to implement a new
67 * encoder, add it to libavcodec, except for wrappers around external
68 * libraries and encoders requiring binary support. */
69 NULL
72 vf_instance_t* vf_open_encoder(struct MPOpts *opts, vf_instance_t* next, const char *name, char *args){
73 char* vf_args[] = { "_oldargs_", args, NULL };
74 return vf_open_plugin(opts, encoder_list,next,name,vf_args);