FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
vf_mp.c File Reference
#include "avfilter.h"
#include "video.h"
#include "formats.h"
#include "internal.h"
#include "libavutil/avassert.h"
#include "libavutil/pixdesc.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "libmpcodecs/vf.h"
#include "libmpcodecs/img_format.h"
#include "libmpcodecs/cpudetect.h"
#include "libmpcodecs/libvo/fastmemcpy.h"
#include "libswscale/swscale.h"

Go to the source code of this file.

Data Structures

struct  MPContext
 

Macros

#define OFFSET(x)   offsetof(MPContext, x)
 
#define FLAGS   AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
 
#define CLEAR_PACKEDYUV_PATTERN   0x80008000
 
#define CLEAR_PACKEDYUV_PATTERN_SWAPPED   0x00800080
 

Functions

enum AVPixelFormat ff_mp2ff_pix_fmt (int mp)
 
 AVFILTER_DEFINE_CLASS (mp)
 
void ff_mp_msg (int mod, int lev, const char *format,...)
 
int ff_mp_msg_test (int mod, int lev)
 
void ff_vf_clone_mpi_attributes (mp_image_t *dst, mp_image_t *src)
 
void ff_vf_next_draw_slice (struct vf_instance *vf, unsigned char **src, int *stride, int w, int h, int x, int y)
 
void ff_vf_mpi_clear (mp_image_t *mpi, int x0, int y0, int w, int h)
 
int ff_vf_next_query_format (struct vf_instance *vf, unsigned int fmt)
 
unsigned int ff_vf_match_csp (vf_instance_t **vfp, const unsigned int *list, unsigned int preferred)
 
mp_image_tff_vf_get_image (vf_instance_t *vf, unsigned int outfmt, int mp_imgtype, int mp_imgflag, int w, int h)
 
int ff_vf_next_put_image (struct vf_instance *vf, mp_image_t *mpi, double pts)
 
int ff_vf_next_config (struct vf_instance *vf, int width, int height, int d_width, int d_height, unsigned int voflags, unsigned int outfmt)
 
int ff_vf_next_control (struct vf_instance *vf, int request, void *data)
 
static int vf_default_query_format (struct vf_instance *vf, unsigned int fmt)
 
static av_cold int init (AVFilterContext *ctx)
 
static av_cold void uninit (AVFilterContext *ctx)
 
static int query_formats (AVFilterContext *ctx)
 
static int config_inprops (AVFilterLink *inlink)
 
static int config_outprops (AVFilterLink *outlink)
 
static int request_frame (AVFilterLink *outlink)
 
static int filter_frame (AVFilterLink *inlink, AVFrame *inpic)
 

Variables

struct {
   int   fmt
 
   enum AVPixelFormat   pix_fmt
 
conversion_map []
 
static const vf_info_t *const filters []
 
CpuCaps ff_gCpuCaps
 
static const AVOption mp_options []
 
static const AVFilterPad mp_inputs []
 
static const AVFilterPad mp_outputs []
 
AVFilter ff_vf_mp
 

Macro Definition Documentation

#define OFFSET (   x)    offsetof(MPContext, x)

Definition at line 172 of file vf_mp.c.

Definition at line 173 of file vf_mp.c.

#define CLEAR_PACKEDYUV_PATTERN   0x80008000

Referenced by ff_vf_mpi_clear().

#define CLEAR_PACKEDYUV_PATTERN_SWAPPED   0x00800080

Referenced by ff_vf_mpi_clear().

Function Documentation

enum AVPixelFormat ff_mp2ff_pix_fmt ( int  mp)

Definition at line 155 of file vf_mp.c.

Referenced by ff_mp_image_alloc_planes().

AVFILTER_DEFINE_CLASS ( mp  )
void ff_mp_msg ( int  mod,
int  lev,
const char *  format,
  ... 
)
int ff_mp_msg_test ( int  mod,
int  lev 
)

Definition at line 189 of file vf_mp.c.

void ff_vf_clone_mpi_attributes ( mp_image_t dst,
mp_image_t src 
)

Definition at line 194 of file vf_mp.c.

void ff_vf_next_draw_slice ( struct vf_instance *  vf,
unsigned char **  src,
int *  stride,
int  w,
int  h,
int  x,
int  y 
)

Definition at line 205 of file vf_mp.c.

void ff_vf_mpi_clear ( mp_image_t mpi,
int  x0,
int  y0,
int  w,
int  h 
)

Definition at line 228 of file vf_mp.c.

Referenced by ff_vf_get_image().

int ff_vf_next_query_format ( struct vf_instance *  vf,
unsigned int  fmt 
)

Definition at line 272 of file vf_mp.c.

unsigned int ff_vf_match_csp ( vf_instance_t **  vfp,
const unsigned int *  list,
unsigned int  preferred 
)

Definition at line 277 of file vf_mp.c.

mp_image_t* ff_vf_get_image ( vf_instance_t vf,
unsigned int  outfmt,
int  mp_imgtype,
int  mp_imgflag,
int  w,
int  h 
)

Definition at line 281 of file vf_mp.c.

int ff_vf_next_put_image ( struct vf_instance *  vf,
mp_image_t mpi,
double  pts 
)

Definition at line 438 of file vf_mp.c.

Referenced by init().

int ff_vf_next_config ( struct vf_instance *  vf,
int  width,
int  height,
int  d_width,
int  d_height,
unsigned int  voflags,
unsigned int  outfmt 
)

Definition at line 485 of file vf_mp.c.

Referenced by init().

int ff_vf_next_control ( struct vf_instance *  vf,
int  request,
void data 
)

Definition at line 514 of file vf_mp.c.

Referenced by init().

static int vf_default_query_format ( struct vf_instance *  vf,
unsigned int  fmt 
)
static

Definition at line 520 of file vf_mp.c.

Referenced by init().

static av_cold int init ( AVFilterContext ctx)
static

Definition at line 533 of file vf_mp.c.

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 613 of file vf_mp.c.

static int query_formats ( AVFilterContext ctx)
static

Definition at line 630 of file vf_mp.c.

static int config_inprops ( AVFilterLink inlink)
static

Definition at line 656 of file vf_mp.c.

static int config_outprops ( AVFilterLink outlink)
static

Definition at line 675 of file vf_mp.c.

static int request_frame ( AVFilterLink outlink)
static

Definition at line 685 of file vf_mp.c.

static int filter_frame ( AVFilterLink inlink,
AVFrame inpic 
)
static

Definition at line 702 of file vf_mp.c.

Variable Documentation

int fmt

Definition at line 48 of file vf_mp.c.

enum AVPixelFormat pix_fmt

Definition at line 49 of file vf_mp.c.

struct { ... } conversion_map[]
const vf_info_t* const filters[]
static
Initial value:
={
NULL
}

Definition at line 127 of file vf_mp.c.

Referenced by avfilter_graph_alloc_filter(), avfilter_graph_parse_ptr(), new_audio_stream(), new_video_stream(), and swri_dither_init().

CpuCaps ff_gCpuCaps

Definition at line 153 of file vf_mp.c.

const AVOption mp_options[]
static
Initial value:
= {
{ "filter", "set MPlayer filter name and parameters", OFFSET(filter), AV_OPT_TYPE_STRING, {.str=NULL}, .flags = FLAGS },
{ NULL }
}

Definition at line 174 of file vf_mp.c.

const AVFilterPad mp_inputs[]
static
Initial value:
= {
{
.name = "default",
.filter_frame = filter_frame,
.config_props = config_inprops,
},
{ NULL }
}

Definition at line 739 of file vf_mp.c.

const AVFilterPad mp_outputs[]
static
Initial value:
= {
{
.name = "default",
.request_frame = request_frame,
.config_props = config_outprops,
},
{ NULL }
}

Definition at line 749 of file vf_mp.c.

AVFilter ff_vf_mp
Initial value:
= {
.name = "mp",
.description = NULL_IF_CONFIG_SMALL("Apply a libmpcodecs filter to the input video."),
.init = init,
.uninit = uninit,
.priv_size = sizeof(MPContext),
.priv_class = &mp_class,
}

Definition at line 759 of file vf_mp.c.