deinterlace.c File Reference

Include dependency graph for deinterlace.c:


Data Structures

struct  filter_sys_t
 filter_sys_t: chroma method descriptor More...
struct  vf_priv_s

Defines

#define DEINTERLACE_DISCARD   1
#define DEINTERLACE_MEAN   2
#define DEINTERLACE_BLEND   3
#define DEINTERLACE_BOB   4
#define DEINTERLACE_LINEAR   5
#define DEINTERLACE_X   6
#define DEINTERLACE_YADIF   7
#define DEINTERLACE_YADIF2X   8
#define MODE_TEXT   N_("Deinterlace mode")
#define MODE_LONGTEXT   N_("Deinterlace method to use for local playback.")
#define SOUT_MODE_TEXT   N_("Streaming deinterlace mode")
#define SOUT_MODE_LONGTEXT   N_("Deinterlace method to use for streaming.")
#define FILTER_CFG_PREFIX   "sout-deinterlace-"
#define HISTORY_SIZE   (3)
#define Merge   p_filter->p_sys->pf_merge
#define EndMerge   if(p_filter->p_sys->pf_end_merge) p_filter->p_sys->pf_end_merge
#define FFABS(a)   ((a) >= 0 ? (a) : (-(a)))
#define FFMAX(a, b)   __MAX(a,b)
#define FFMAX3(a, b, c)   FFMAX(FFMAX(a,b),c)
#define FFMIN(a, b)   __MIN(a,b)
#define FFMIN3(a, b, c)   FFMIN(FFMIN(a,b),c)

Typedefs

typedef intptr_t x86_reg

Functions

static int Open (vlc_object_t *)
 Probes and initializes.
static void Close (vlc_object_t *)
 Releases resources.
int vlc_entry__main (module_t *p_module)
const char * vlc_entry_license__main (void)
static void RenderDiscard (filter_t *, picture_t *, picture_t *, int)
static void RenderBob (filter_t *, picture_t *, picture_t *, int)
static void RenderMean (filter_t *, picture_t *, picture_t *)
static void RenderBlend (filter_t *, picture_t *, picture_t *)
static void RenderLinear (filter_t *, picture_t *, picture_t *, int)
static void RenderX (picture_t *, picture_t *)
static void RenderYadif (filter_t *, picture_t *, picture_t *, int, int)
static void MergeGeneric (void *, const void *, const void *, size_t)
static void SetFilterMethod (filter_t *p_filter, const char *psz_method, vlc_fourcc_t i_chroma)
static void GetOutputFormat (filter_t *p_filter, video_format_t *p_dst, const video_format_t *p_src)
static bool IsChromaSupported (vlc_fourcc_t i_chroma)
static int ssd (int a)
static int XDeint8x8DetectC (uint8_t *src, int i_src)
static void XDeint8x8MergeC (uint8_t *dst, int i_dst, uint8_t *src1, int i_src1, uint8_t *src2, int i_src2)
static void XDeint8x8Set (uint8_t *dst, int i_dst, uint8_t v)
static void XDeint8x8FieldEC (uint8_t *dst, int i_dst, uint8_t *src, int i_src)
static void XDeint8x8FieldC (uint8_t *dst, int i_dst, uint8_t *src, int i_src)
static int XDeintNxNDetect (uint8_t *src, int i_src, int i_height, int i_width)
static void XDeintNxNFrame (uint8_t *dst, int i_dst, uint8_t *src, int i_src, int i_width, int i_height)
static void XDeintNxNField (uint8_t *dst, int i_dst, uint8_t *src, int i_src, int i_width, int i_height)
static void XDeintNxN (uint8_t *dst, int i_dst, uint8_t *src, int i_src, int i_width, int i_height)
static int median (int a, int b, int c)
static void XDeintBand8x8C (uint8_t *dst, int i_dst, uint8_t *src, int i_src, const int i_mbx, int i_modx)
static picture_tDeinterlace (filter_t *p_filter, picture_t *p_pic)
static int Mouse (filter_t *p_filter, vlc_mouse_t *p_mouse, const vlc_mouse_t *p_old, const vlc_mouse_t *p_new)

Variables

static const char *const mode_list []
static const char *const mode_list_text []
static const char *const ppsz_filter_options []

Define Documentation

#define DEINTERLACE_BLEND   3

Referenced by Deinterlace(), and SetFilterMethod().

#define DEINTERLACE_BOB   4

Referenced by Deinterlace(), and SetFilterMethod().

#define DEINTERLACE_DISCARD   1

Referenced by Deinterlace(), and SetFilterMethod().

#define DEINTERLACE_LINEAR   5

#define DEINTERLACE_MEAN   2

#define DEINTERLACE_X   6

#define DEINTERLACE_YADIF   7

#define DEINTERLACE_YADIF2X   8

#define EndMerge   if(p_filter->p_sys->pf_end_merge) p_filter->p_sys->pf_end_merge

#define FFABS ( a   )     ((a) >= 0 ? (a) : (-(a)))

Referenced by yadif_filter_line_c().

#define FFMAX ( a,
b   )     __MAX(a,b)

Referenced by filter_line_c().

#define FFMAX3 ( a,
b,
 )     FFMAX(FFMAX(a,b),c)

Referenced by yadif_filter_line_c().

#define FFMIN ( a,
b   )     __MIN(a,b)

#define FFMIN3 ( a,
b,
 )     FFMIN(FFMIN(a,b),c)

#define FILTER_CFG_PREFIX   "sout-deinterlace-"

#define HISTORY_SIZE   (3)

Referenced by RenderYadif().

#define Merge   p_filter->p_sys->pf_merge

#define MODE_LONGTEXT   N_("Deinterlace method to use for local playback.")

#define MODE_TEXT   N_("Deinterlace mode")

#define SOUT_MODE_LONGTEXT   N_("Deinterlace method to use for streaming.")

#define SOUT_MODE_TEXT   N_("Streaming deinterlace mode")


Typedef Documentation

typedef intptr_t x86_reg


Function Documentation

static void Close ( vlc_object_t p_this  )  [static]

Releases resources.

Close the module.

Destroys the X11 window.

Disconnect from the X server.

Close a SDL video output.

It destroys an OpenGL vout display.

Terminate a vout display created by Open.

It destroyes a Direct3D vout display.

Terminate an output method created by Open.

Release the drawable.

Close a libcaca video output.

Close a aa video output method.

Close the filter.

Terminate a splitter module.

This function closes a clone video splitter module.

Common close function.

Releases allocate resources.

Close: Destructor.

Parameters:
p_this pointer to this filter object
p_this,: the filter object

static picture_t* Deinterlace ( filter_t p_filter,
picture_t p_pic 
) [static]

static void GetOutputFormat ( filter_t p_filter,
video_format_t p_dst,
const video_format_t p_src 
) [static]

static bool IsChromaSupported ( vlc_fourcc_t  i_chroma  )  [static]

static int median ( int  a,
int  b,
int  c 
) [inline, static]

static void MergeGeneric ( void *  _p_dest,
const void *  _p_s1,
const void *  _p_s2,
size_t  i_bytes 
) [static]

static int Mouse ( filter_t p_filter,
vlc_mouse_t p_mouse,
const vlc_mouse_t p_old,
const vlc_mouse_t p_new 
) [static]

static int Open ( vlc_object_t p_this  )  [static]

Probes and initializes.

Status of this demuxer: Real Media format -----------------.

Basic chorus/flanger/delay audio filter This implements a variable delay filter for VLC.

Todo:

  • Improve CDDB support (non-blocking, cache, .

Open the module.

Create an X11 window.

Probe the X server.

This function initializes SDL vout method.

It creates an OpenGL vout display.

This function allocates and initialize the DirectX vout display.

It creates a Direct3D vout display.

This function allocates and initializes a FB vout method.

Find the drawable set by libvlc application.

This function initializes libcaca vout method.

This function allocates and initializes a aa vout method.

This function allocates and initializes a Wall splitter module.

Open the filter.

This function allocates and initializes a Clone splitter module.

Open: initialize and create stuff.

Connect to the sftp server and ask for a file.

Parameters:
p_this,: the vlc_object
Returns:
VLC_SUCCESS if everything was fine
Parameters:
p_this 
p_this,: the filter object
Returns:
VLC_SUCCESS or vlc error codes

Todo:
Reinstate meta codec name

static void RenderBlend ( filter_t p_filter,
picture_t p_outpic,
picture_t p_pic 
) [static]

static void RenderBob ( filter_t p_filter,
picture_t p_outpic,
picture_t p_pic,
int  i_field 
) [static]

static void RenderDiscard ( filter_t p_filter,
picture_t p_outpic,
picture_t p_pic,
int  i_field 
) [static]

static void RenderLinear ( filter_t p_filter,
picture_t p_outpic,
picture_t p_pic,
int  i_field 
) [static]

static void RenderMean ( filter_t p_filter,
picture_t p_outpic,
picture_t p_pic 
) [static]

static void RenderX ( picture_t p_outpic,
picture_t p_pic 
) [static]

static void RenderYadif ( filter_t p_filter,
picture_t p_dst,
picture_t p_src,
int  i_order,
int  i_field 
) [static]

static void SetFilterMethod ( filter_t p_filter,
const char *  psz_method,
vlc_fourcc_t  i_chroma 
) [static]

static int ssd ( int  a  )  [inline, static]

int vlc_entry__main ( module_t p_module  ) 

const char* vlc_entry_license__main ( void   ) 

static int XDeint8x8DetectC ( uint8_t *  src,
int  i_src 
) [inline, static]

References ssd().

Referenced by XDeintBand8x8C().

static void XDeint8x8FieldC ( uint8_t *  dst,
int  i_dst,
uint8_t *  src,
int  i_src 
) [inline, static]

Referenced by XDeintBand8x8C().

static void XDeint8x8FieldEC ( uint8_t *  dst,
int  i_dst,
uint8_t *  src,
int  i_src 
) [inline, static]

Referenced by XDeintBand8x8C().

static void XDeint8x8MergeC ( uint8_t *  dst,
int  i_dst,
uint8_t *  src1,
int  i_src1,
uint8_t *  src2,
int  i_src2 
) [inline, static]

Referenced by XDeintBand8x8C().

static void XDeint8x8Set ( uint8_t *  dst,
int  i_dst,
uint8_t  v 
) [inline, static]

static void XDeintBand8x8C ( uint8_t *  dst,
int  i_dst,
uint8_t *  src,
int  i_src,
const int  i_mbx,
int  i_modx 
) [inline, static]

static void XDeintNxN ( uint8_t *  dst,
int  i_dst,
uint8_t *  src,
int  i_src,
int  i_width,
int  i_height 
) [inline, static]

static int XDeintNxNDetect ( uint8_t *  src,
int  i_src,
int  i_height,
int  i_width 
) [inline, static]

References ssd().

Referenced by XDeintNxN().

static void XDeintNxNField ( uint8_t *  dst,
int  i_dst,
uint8_t *  src,
int  i_src,
int  i_width,
int  i_height 
) [inline, static]

Referenced by XDeintNxN().

static void XDeintNxNFrame ( uint8_t *  dst,
int  i_dst,
uint8_t *  src,
int  i_src,
int  i_width,
int  i_height 
) [inline, static]

Referenced by XDeintNxN().


Variable Documentation

const char* const mode_list[] [static]

Initial value:

 {
    "discard", "blend", "mean", "bob", "linear", "x", "yadif", "yadif2x" }

const char* const mode_list_text[] [static]

Initial value:

 {
    N_("Discard"), N_("Blend"), N_("Mean"), N_("Bob"), N_("Linear"), "X", "Yadif", "Yadif (2x)" }

const char* const ppsz_filter_options[] [static]

Initial value:

 {
    "mode", NULL
}


Generated on Tue May 25 08:05:12 2010 for VLC by  doxygen 1.5.6