Merge svn changes up to r29412
[mplayer.git] / libmpcodecs / ve.c
blob9781bfc0d81e6e08adeb8756c9fcbe2b6bbc0649
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
5 #include "config.h"
6 #include "mp_msg.h"
8 #include "img_format.h"
9 #include "mp_image.h"
10 #include "vf.h"
12 extern vf_info_t ve_info_lavc;
13 extern vf_info_t ve_info_vfw;
14 extern vf_info_t ve_info_raw;
15 extern vf_info_t ve_info_libdv;
16 extern vf_info_t ve_info_xvid;
17 extern vf_info_t ve_info_qtvideo;
18 extern vf_info_t ve_info_nuv;
19 extern vf_info_t ve_info_x264;
21 /* Please do not add any new encoders here. If you want to implement a new
22 * encoder, add it to libavcodec, except for wrappers around external
23 * libraries and encoders requiring binary support. */
25 static vf_info_t* encoder_list[]={
26 #ifdef CONFIG_LIBAVCODEC
27 &ve_info_lavc,
28 #endif
29 #ifdef CONFIG_WIN32DLL
30 &ve_info_vfw,
31 #ifdef CONFIG_QTX_CODECS_WIN32
32 &ve_info_qtvideo,
33 #endif
34 #endif
35 #ifdef CONFIG_LIBDV095
36 &ve_info_libdv,
37 #endif
38 &ve_info_raw,
39 #ifdef CONFIG_XVID4
40 &ve_info_xvid,
41 #endif
42 #ifdef CONFIG_LIBLZO
43 &ve_info_nuv,
44 #endif
45 #ifdef CONFIG_X264
46 &ve_info_x264,
47 #endif
48 /* Please do not add any new encoders here. If you want to implement a new
49 * encoder, add it to libavcodec, except for wrappers around external
50 * libraries and encoders requiring binary support. */
51 NULL
54 vf_instance_t* vf_open_encoder(struct MPOpts *opts, vf_instance_t* next, const char *name, char *args){
55 char* vf_args[] = { "_oldargs_", args, NULL };
56 return vf_open_plugin(opts, encoder_list,next,name,vf_args);