summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/ve.c
blob: 44a90488fa4588bb370befbefe91699bf7eed225 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "config.h"
#include "mp_msg.h"

#include "img_format.h"
#include "mp_image.h"
#include "vf.h"

extern vf_info_t ve_info_lavc;
extern vf_info_t ve_info_vfw;
extern vf_info_t ve_info_raw;
extern vf_info_t ve_info_libdv;
extern vf_info_t ve_info_xvid;
extern vf_info_t ve_info_qtvideo;
extern vf_info_t ve_info_nuv;
extern vf_info_t ve_info_x264;

/* Please do not add any new encoders here. If you want to implement a new
 * encoder, add it to libavcodec, except for wrappers around external
 * libraries and encoders requiring binary support. */

static vf_info_t* encoder_list[]={
#ifdef USE_LIBAVCODEC
    &ve_info_lavc,
#endif
#ifdef USE_WIN32DLL
    &ve_info_vfw,
#ifdef USE_QTX_CODECS_WIN32
    &ve_info_qtvideo,
#endif
#endif
#ifdef HAVE_LIBDV095
    &ve_info_libdv,
#endif
    &ve_info_raw,
#ifdef HAVE_XVID4
    &ve_info_xvid,
#endif
#ifdef USE_LIBLZO
    &ve_info_nuv,
#endif
#ifdef HAVE_X264
    &ve_info_x264,
#endif
    /* Please do not add any new encoders here. If you want to implement a new
     * encoder, add it to libavcodec, except for wrappers around external
     * libraries and encoders requiring binary support. */
    NULL
};

vf_instance_t* vf_open_encoder(struct MPOpts *opts, vf_instance_t* next, const char *name, char *args){
    char* vf_args[] = { "_oldargs_", args, NULL };
    return vf_open_plugin(opts, encoder_list,next,name,vf_args);
}