libavfilter/libmpcodecs/vf_uspp.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include <math.h>
#include <assert.h>
#include "config.h"
#include "mp_msg.h"
#include "cpudetect.h"
#include "libavcodec/avcodec.h"
#include "img_format.h"
#include "mp_image.h"
#include "vf.h"
#include "vd_ffmpeg.h"
#include "libvo/fastmemcpy.h"

Go to the source code of this file.

Data Structures

struct  vf_priv_s
 Stores persistant variables. More...

Defines

#define XMIN(a, b)   ((a) < (b) ? (a) : (b))
#define BLOCK   16
#define STORE(pos)

Functions

static void store_slice_c (uint8_t *dst, int16_t *src, int dst_stride, int src_stride, int width, int height, int log2_scale)
static void filter (struct vf_priv_s *p, uint8_t *dst[3], uint8_t *src[3], int dst_stride[3], int src_stride[3], int width, int height, uint8_t *qp_store, int qp_stride)
static int config (struct vf_instance *vf, int width, int height, int d_width, int d_height, unsigned int flags, unsigned int outfmt)
static void get_image (struct vf_instance *vf, mp_image_t *mpi)
static int put_image (struct vf_instance *vf, mp_image_t *mpi, double pts)
static void uninit (struct vf_instance *vf)
static int query_format (struct vf_instance *vf, unsigned int fmt)
static int control (struct vf_instance *vf, int request, void *data)
static int vf_open (vf_instance_t *vf, char *args)

Variables

static const uint8_t dither [8][8]
static const uint8_t offset [511][2]
const vf_info_t vf_info_uspp


Define Documentation

#define BLOCK   16

Definition at line 43 of file vf_uspp.c.

#define STORE ( pos   ) 

Value:

temp= ((src[x + y*src_stride + pos]<<log2_scale) + d[pos])>>8;\
        if(temp & 0x100) temp= ~(temp>>31);\
        dst[x + y*dst_stride + pos]= temp;

#define XMIN ( a,
 )     ((a) < (b) ? (a) : (b))

Definition at line 41 of file vf_uspp.c.


Function Documentation

static int config ( struct vf_instance vf,
int  width,
int  height,
int  d_width,
int  d_height,
unsigned int  flags,
unsigned int  outfmt 
) [static]

Definition at line 208 of file vf_uspp.c.

static int control ( struct vf_instance vf,
int  request,
void *  data 
) [static]

Definition at line 332 of file vf_uspp.c.

static void filter ( struct vf_priv_s p,
uint8_t *  dst[3],
uint8_t *  src[3],
int  dst_stride[3],
int  src_stride[3],
int  width,
int  height,
uint8_t *  qp_store,
int  qp_stride 
) [static]

Definition at line 139 of file vf_uspp.c.

static void get_image ( struct vf_instance vf,
mp_image_t mpi 
) [static]

Definition at line 249 of file vf_uspp.c.

static int put_image ( struct vf_instance vf,
mp_image_t mpi,
double  pts 
) [static]

Definition at line 266 of file vf_uspp.c.

static int query_format ( struct vf_instance vf,
unsigned int  fmt 
) [static]

Definition at line 320 of file vf_uspp.c.

static void store_slice_c ( uint8_t *  dst,
int16_t src,
int  dst_stride,
int  src_stride,
int  width,
int  height,
int  log2_scale 
) [static]

Definition at line 115 of file vf_uspp.c.

static void uninit ( struct vf_instance vf  )  [static]

Definition at line 301 of file vf_uspp.c.

static int vf_open ( vf_instance_t vf,
char *  args 
) [static]

Definition at line 344 of file vf_uspp.c.


Variable Documentation

const uint8_t dither[8][8] [static]

Initial value:

{
{  0*4,  48*4,  12*4,  60*4,   3*4,  51*4,  15*4,  63*4, },
{ 32*4,  16*4,  44*4,  28*4,  35*4,  19*4,  47*4,  31*4, },
{  8*4,  56*4,   4*4,  52*4,  11*4,  59*4,   7*4,  55*4, },
{ 40*4,  24*4,  36*4,  20*4,  43*4,  27*4,  39*4,  23*4, },
{  2*4,  50*4,  14*4,  62*4,   1*4,  49*4,  13*4,  61*4, },
{ 34*4,  18*4,  46*4,  30*4,  33*4,  17*4,  45*4,  29*4, },
{ 10*4,  58*4,   6*4,  54*4,   9*4,  57*4,   5*4,  53*4, },
{ 42*4,  26*4,  38*4,  22*4,  41*4,  25*4,  37*4,  21*4, },
}

Definition at line 46 of file vf_uspp.c.

const uint8_t offset[511][2] [static]

Definition at line 57 of file vf_uspp.c.

Initial value:

 {
    "ultra simple/slow postprocess",
    "uspp",
    "Michael Niedermayer",
    "",
    vf_open,
    NULL
}

Definition at line 378 of file vf_uspp.c.


Generated on Fri Oct 26 02:43:51 2012 for FFmpeg by  doxygen 1.5.8