filter_kerneldeint.c File Reference

Go to the source code of this file.

Classes

struct  DeintThread
struct  ThisFilter

Typedefs

typedef struct ThisFilter ThisFilter

Functions

static void line_filter_c_fast (uint8_t *dst, int width, int start_width, uint8_t *buf, uint8_t *src2, uint8_t *src3, uint8_t *src4, uint8_t *src5)
static void line_filter_c (uint8_t *dst, int width, int start_width, uint8_t *src1, uint8_t *src2, uint8_t *src3, uint8_t *src4, uint8_t *src5)
static void mmx_start (uint8_t *src1, uint8_t *src2, uint8_t *src3, uint8_t *src4, int X)
static void mmx_end (uint8_t *src3, uint8_t *src5, uint8_t *dst, int X)
static void line_filter_mmx_fast (uint8_t *dst, int width, int start_width, uint8_t *buf, uint8_t *src2, uint8_t *src3, uint8_t *src4, uint8_t *src5)
static void line_filter_mmx (uint8_t *dst, int width, int start_width, uint8_t *src1, uint8_t *src2, uint8_t *src3, uint8_t *src4, uint8_t *src5)
static void store_ref (struct ThisFilter *p, uint8_t *src, int src_offsets[3], int src_stride[3], int width, int height)
static int AllocFilter (ThisFilter *filter, int width, int height)
static void filter_func (struct ThisFilter *p, uint8_t *dst, int dst_offsets[3], int dst_stride[3], int width, int height, int parity, int tff, int double_rate, int dirty, int this_slice, int total_slices)
static void * KernelThread (void *args)
static int KernelDeint (VideoFilter *f, VideoFrame *frame, int field)
static void CleanupKernelDeintFilter (VideoFilter *f)
static VideoFilterNewKernelDeintFilter (VideoFrameType inpixfmt, VideoFrameType outpixfmt, int *width, int *height, char *options, int threads)

Variables

static const mmx_t mm_lthr
static const mmx_t mm_hthr
static const mmx_t mm_cpool [] = { { 0x0000000000000000LL }, }
static FmtConv FmtList []
ConstFilterInfo filter_table []

Typedef Documentation

typedef struct ThisFilter ThisFilter

Function Documentation

static void line_filter_c_fast ( uint8_t dst,
int  width,
int  start_width,
uint8_t buf,
uint8_t src2,
uint8_t src3,
uint8_t src4,
uint8_t src5 
) [static]

Definition at line 79 of file filter_kerneldeint.c.

Referenced by line_filter_mmx_fast(), and NewKernelDeintFilter().

static void line_filter_c ( uint8_t dst,
int  width,
int  start_width,
uint8_t src1,
uint8_t src2,
uint8_t src3,
uint8_t src4,
uint8_t src5 
) [static]

Definition at line 96 of file filter_kerneldeint.c.

Referenced by line_filter_mmx(), and NewKernelDeintFilter().

static void mmx_start ( uint8_t src1,
uint8_t src2,
uint8_t src3,
uint8_t src4,
int  X 
) [inline, static]

Definition at line 113 of file filter_kerneldeint.c.

Referenced by line_filter_mmx(), and line_filter_mmx_fast().

static void mmx_end ( uint8_t src3,
uint8_t src5,
uint8_t dst,
int  X 
) [inline, static]

Definition at line 147 of file filter_kerneldeint.c.

Referenced by line_filter_mmx(), and line_filter_mmx_fast().

static void line_filter_mmx_fast ( uint8_t dst,
int  width,
int  start_width,
uint8_t buf,
uint8_t src2,
uint8_t src3,
uint8_t src4,
uint8_t src5 
) [static]

Definition at line 181 of file filter_kerneldeint.c.

Referenced by NewKernelDeintFilter().

static void line_filter_mmx ( uint8_t dst,
int  width,
int  start_width,
uint8_t src1,
uint8_t src2,
uint8_t src3,
uint8_t src4,
uint8_t src5 
) [static]

Definition at line 196 of file filter_kerneldeint.c.

Referenced by NewKernelDeintFilter().

static void store_ref ( struct ThisFilter p,
uint8_t src,
int  src_offsets[3],
int  src_stride[3],
int  width,
int  height 
) [static]

Definition at line 211 of file filter_kerneldeint.c.

Referenced by KernelDeint().

static int AllocFilter ( ThisFilter filter,
int  width,
int  height 
) [static]

Definition at line 243 of file filter_kerneldeint.c.

Referenced by KernelDeint(), and NewKernelDeintFilter().

static void filter_func ( struct ThisFilter p,
uint8_t dst,
int  dst_offsets[3],
int  dst_stride[3],
int  width,
int  height,
int  parity,
int  tff,
int  double_rate,
int  dirty,
int  this_slice,
int  total_slices 
) [static]

Definition at line 270 of file filter_kerneldeint.c.

Referenced by KernelDeint(), and KernelThread().

static void* KernelThread ( void *  args  )  [static]

Definition at line 420 of file filter_kerneldeint.c.

Referenced by NewKernelDeintFilter().

static int KernelDeint ( VideoFilter f,
VideoFrame frame,
int  field 
) [static]

Definition at line 453 of file filter_kerneldeint.c.

Referenced by NewKernelDeintFilter().

static void CleanupKernelDeintFilter ( VideoFilter f  )  [static]

Definition at line 513 of file filter_kerneldeint.c.

Referenced by NewKernelDeintFilter().

static VideoFilter* NewKernelDeintFilter ( VideoFrameType  inpixfmt,
VideoFrameType  outpixfmt,
int *  width,
int *  height,
char *  options,
int  threads 
) [static]

Definition at line 536 of file filter_kerneldeint.c.


Variable Documentation

const mmx_t mm_lthr [static]
Initial value:
 { w:{ -THRESHOLD, -THRESHOLD,
                                   -THRESHOLD, -THRESHOLD} }

Definition at line 30 of file filter_kerneldeint.c.

const mmx_t mm_hthr [static]
Initial value:
 { w:{ THRESHOLD - 1, THRESHOLD - 1,
                                   THRESHOLD - 1, THRESHOLD - 1} }

Definition at line 32 of file filter_kerneldeint.c.

const mmx_t mm_cpool[] = { { 0x0000000000000000LL }, } [static]

Definition at line 34 of file filter_kerneldeint.c.

FmtConv FmtList[] [static]
Initial value:
{
    { FMT_YV12, FMT_YV12 },
    FMT_NULL
}

Definition at line 658 of file filter_kerneldeint.c.

Initial value:
{
    {
        filter_init: &NewKernelDeintFilter,
        name:       "kerneldeint",
        descript:   "combines data from several fields to deinterlace "
                    "with less motion blur",
        formats:    FmtList,
        libname:    NULL
    },
    {
        filter_init: &NewKernelDeintFilter,
        name:       "kerneldoubleprocessdeint",
        descript:   "combines data from several fields to deinterlace "
                    "with less motion blur",
        formats:    FmtList,
        libname:    NULL
    },
    FILT_NULL
}

Definition at line 664 of file filter_kerneldeint.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Mon May 28 06:41:47 2012 for MythTV by  doxygen 1.6.3