view libmpcodecs/ve.c @ 17588:79081ba52e00

Move the v{Y,C}CoeffsBank vectors into the SwsContext, filling them in just once when the scaler is initialized, instead of building them and freeing them over and over. This gives massive performance improvements. patch by Alan Curry, pacman*at*TheWorld*dot*com
author diego
date Sat, 11 Feb 2006 14:16:10 +0000
parents 6ff3379a0862
children ed69754aa58d
line wrap: on
line source

#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_divx4;
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;

static vf_info_t* encoder_list[]={
#ifdef HAVE_DIVX4ENCORE
    &ve_info_divx4,
#endif
#ifdef USE_LIBAVCODEC
    &ve_info_lavc,
#endif
#ifdef USE_WIN32DLL
    &ve_info_vfw,
#ifdef USE_QTX_CODECS
    &ve_info_qtvideo,
#endif
#endif
#ifdef HAVE_LIBDV095
    &ve_info_libdv,
#endif
    &ve_info_raw,
#if defined(HAVE_XVID3) || defined(HAVE_XVID4)
    &ve_info_xvid,
#endif
    &ve_info_nuv,
#ifdef HAVE_X264
    &ve_info_x264,
#endif
    NULL
};

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