panoramix.c File Reference

Include dependency graph for panoramix.c:


Data Structures

struct  panoramix_gamma_t
struct  panoramix_filter_t
struct  panoramix_output_t
struct  panoramix_chroma_t
struct  video_splitter_sys_t

Defines

#define OVERLAP
#define COLS_TEXT   N_("Number of columns")
#define COLS_LONGTEXT
#define ROWS_TEXT   N_("Number of rows")
#define ROWS_LONGTEXT
#define ACTIVE_TEXT   N_("Active windows")
#define ACTIVE_LONGTEXT
#define CFG_PREFIX   "panoramix-"
#define PANORAMIX_HELP
#define LENGTH_TEXT   N_("length of the overlapping area (in %)")
#define LENGTH_LONGTEXT   N_("Select in percent the length of the blended zone")
#define HEIGHT_TEXT   N_("height of the overlapping area (in %)")
#define HEIGHT_LONGTEXT   N_("Select in percent the height of the blended zone (case of 2x2 wall)")
#define ATTENUATION_TEXT   N_("Attenuation")
#define ATTENUATION_LONGTEXT   N_("Check this option if you want attenuate blended zone by this plug-in (if option is unchecked, attenuate is made by opengl)")
#define BEGIN_TEXT   N_("Attenuation, begin (in %)")
#define BEGIN_LONGTEXT   N_("Select in percent the Lagrange coeff of the beginning blended zone")
#define MIDDLE_TEXT   N_("Attenuation, middle (in %)")
#define MIDDLE_LONGTEXT   N_("Select in percent the Lagrange coeff of the middle of blended zone")
#define END_TEXT   N_("Attenuation, end (in %)")
#define END_LONGTEXT   N_("Select in percent the Lagrange coeff of the end of blended zone")
#define MIDDLE_POS_TEXT   N_("middle position (in %)")
#define MIDDLE_POS_LONGTEXT   N_("Select in percent (50 is center) the position of the middle point (Lagrange) of blended zone")
#define RGAMMA_TEXT   N_("Gamma (Red) correction")
#define RGAMMA_LONGTEXT   N_("Select the gamma for the correction of blended zone (Red or Y component)")
#define GGAMMA_TEXT   N_("Gamma (Green) correction")
#define GGAMMA_LONGTEXT   N_("Select the gamma for the correction of blended zone (Green or U component)")
#define BGAMMA_TEXT   N_("Gamma (Blue) correction")
#define BGAMMA_LONGTEXT   N_("Select the gamma for the correction of blended zone (Blue or V component)")
#define RGAMMA_BC_TEXT   N_("Black Crush for Red")
#define RGAMMA_BC_LONGTEXT   N_("Select the Black Crush of blended zone (Red or Y component)")
#define GGAMMA_BC_TEXT   N_("Black Crush for Green")
#define GGAMMA_BC_LONGTEXT   N_("Select the Black Crush of blended zone (Green or U component)")
#define BGAMMA_BC_TEXT   N_("Black Crush for Blue")
#define BGAMMA_BC_LONGTEXT   N_("Select the Black Crush of blended zone (Blue or V component)")
#define RGAMMA_WC_TEXT   N_("White Crush for Red")
#define RGAMMA_WC_LONGTEXT   N_("Select the White Crush of blended zone (Red or Y component)")
#define GGAMMA_WC_TEXT   N_("White Crush for Green")
#define GGAMMA_WC_LONGTEXT   N_("Select the White Crush of blended zone (Green or U component)")
#define BGAMMA_WC_TEXT   N_("White Crush for Blue")
#define BGAMMA_WC_LONGTEXT   N_("Select the White Crush of blended zone (Blue or V component)")
#define RGAMMA_BL_TEXT   N_("Black Level for Red")
#define RGAMMA_BL_LONGTEXT   N_("Select the Black Level of blended zone (Red or Y component)")
#define GGAMMA_BL_TEXT   N_("Black Level for Green")
#define GGAMMA_BL_LONGTEXT   N_("Select the Black Level of blended zone (Green or U component)")
#define BGAMMA_BL_TEXT   N_("Black Level for Blue")
#define BGAMMA_BL_LONGTEXT   N_("Select the Black Level of blended zone (Blue or V component)")
#define RGAMMA_WL_TEXT   N_("White Level for Red")
#define RGAMMA_WL_LONGTEXT   N_("Select the White Level of blended zone (Red or Y component)")
#define GGAMMA_WL_TEXT   N_("White Level for Green")
#define GGAMMA_WL_LONGTEXT   N_("Select the White Level of blended zone (Green or U component)")
#define BGAMMA_WL_TEXT   N_("White Level for Blue")
#define BGAMMA_WL_LONGTEXT   N_("Select the White Level of blended zone (Blue or V component)")
#define ROW_MAX   (15)
#define COL_MAX   (15)
#define ACCURACY   1000

Functions

static int Open (vlc_object_t *)
 Probes and initializes.
static void Close (vlc_object_t *p_this)
 Terminate a splitter module.
int vlc_entry__main (module_t *p_module)
const char * vlc_entry_license__main (void)
static int clip_accuracy (int a)
static float clip_unit (float f)
static int Filter (video_splitter_t *p_splitter, picture_t *pp_dst[], picture_t *p_src)
 It creates multiples pictures from the source one.
static int Mouse (video_splitter_t *p_splitter, vlc_mouse_t *p_mouse, int i_index, const vlc_mouse_t *p_old, const vlc_mouse_t *p_new)
 It converts mouse events.
static int Configuration (panoramix_output_t pp_output[(15)][(15)], int i_col, int i_row, int i_src_width, int i_src_height, int i_half_w, int i_half_h, bool b_attenuate, const bool *pb_active)
 It creates the panoramix configuration.
static double GammaFactor (const panoramix_gamma_t *, float f_value)
static void FilterPlanar (uint8_t *p_out, int i_out_pitch, const uint8_t *p_in, int i_in_pitch, int i_copy_pitch, int i_copy_lines, int i_pixel_black, const panoramix_filter_t *p_cfg, uint8_t p_lut[1000+1][256], int lambdav[2][1000/2], int lambdah[2][1000/2])
 It filters a video plane.
static unsigned CountMonitors (vlc_object_t *obj)

Variables

static const char *const ppsz_filter_options []
static const panoramix_chroma_t p_chroma_array []

Define Documentation

#define ACCURACY   1000

Referenced by clip_accuracy().

#define ACTIVE_LONGTEXT

Value:

N_("Comma separated list of active windows, " \
    "defaults to all")

#define ACTIVE_TEXT   N_("Active windows")

#define ATTENUATION_LONGTEXT   N_("Check this option if you want attenuate blended zone by this plug-in (if option is unchecked, attenuate is made by opengl)")

#define ATTENUATION_TEXT   N_("Attenuation")

#define BEGIN_LONGTEXT   N_("Select in percent the Lagrange coeff of the beginning blended zone")

#define BEGIN_TEXT   N_("Attenuation, begin (in %)")

#define BGAMMA_BC_LONGTEXT   N_("Select the Black Crush of blended zone (Blue or V component)")

#define BGAMMA_BC_TEXT   N_("Black Crush for Blue")

#define BGAMMA_BL_LONGTEXT   N_("Select the Black Level of blended zone (Blue or V component)")

#define BGAMMA_BL_TEXT   N_("Black Level for Blue")

#define BGAMMA_LONGTEXT   N_("Select the gamma for the correction of blended zone (Blue or V component)")

#define BGAMMA_TEXT   N_("Gamma (Blue) correction")

#define BGAMMA_WC_LONGTEXT   N_("Select the White Crush of blended zone (Blue or V component)")

#define BGAMMA_WC_TEXT   N_("White Crush for Blue")

#define BGAMMA_WL_LONGTEXT   N_("Select the White Level of blended zone (Blue or V component)")

#define BGAMMA_WL_TEXT   N_("White Level for Blue")

#define CFG_PREFIX   "panoramix-"

#define COL_MAX   (15)

#define COLS_LONGTEXT

Value:

N_("Select the number of horizontal video windows in " \
    "which to split the video")

#define COLS_TEXT   N_("Number of columns")

#define END_LONGTEXT   N_("Select in percent the Lagrange coeff of the end of blended zone")

#define END_TEXT   N_("Attenuation, end (in %)")

#define GGAMMA_BC_LONGTEXT   N_("Select the Black Crush of blended zone (Green or U component)")

#define GGAMMA_BC_TEXT   N_("Black Crush for Green")

#define GGAMMA_BL_LONGTEXT   N_("Select the Black Level of blended zone (Green or U component)")

#define GGAMMA_BL_TEXT   N_("Black Level for Green")

#define GGAMMA_LONGTEXT   N_("Select the gamma for the correction of blended zone (Green or U component)")

#define GGAMMA_TEXT   N_("Gamma (Green) correction")

#define GGAMMA_WC_LONGTEXT   N_("Select the White Crush of blended zone (Green or U component)")

#define GGAMMA_WC_TEXT   N_("White Crush for Green")

#define GGAMMA_WL_LONGTEXT   N_("Select the White Level of blended zone (Green or U component)")

#define GGAMMA_WL_TEXT   N_("White Level for Green")

#define HEIGHT_LONGTEXT   N_("Select in percent the height of the blended zone (case of 2x2 wall)")

#define HEIGHT_TEXT   N_("height of the overlapping area (in %)")

#define LENGTH_LONGTEXT   N_("Select in percent the length of the blended zone")

#define LENGTH_TEXT   N_("length of the overlapping area (in %)")

#define MIDDLE_LONGTEXT   N_("Select in percent the Lagrange coeff of the middle of blended zone")

#define MIDDLE_POS_LONGTEXT   N_("Select in percent (50 is center) the position of the middle point (Lagrange) of blended zone")

#define MIDDLE_POS_TEXT   N_("middle position (in %)")

#define MIDDLE_TEXT   N_("Attenuation, middle (in %)")

#define OVERLAP

#define PANORAMIX_HELP

Value:

N_("Split the video in multiple windows to " \
    "display on a wall of screens")

#define RGAMMA_BC_LONGTEXT   N_("Select the Black Crush of blended zone (Red or Y component)")

#define RGAMMA_BC_TEXT   N_("Black Crush for Red")

#define RGAMMA_BL_LONGTEXT   N_("Select the Black Level of blended zone (Red or Y component)")

#define RGAMMA_BL_TEXT   N_("Black Level for Red")

#define RGAMMA_LONGTEXT   N_("Select the gamma for the correction of blended zone (Red or Y component)")

#define RGAMMA_TEXT   N_("Gamma (Red) correction")

#define RGAMMA_WC_LONGTEXT   N_("Select the White Crush of blended zone (Red or Y component)")

#define RGAMMA_WC_TEXT   N_("White Crush for Red")

#define RGAMMA_WL_LONGTEXT   N_("Select the White Level of blended zone (Red or Y component)")

#define RGAMMA_WL_TEXT   N_("White Level for Red")

#define ROW_MAX   (15)

#define ROWS_LONGTEXT

Value:

N_("Select the number of vertical video windows in " \
    "which to split the video")

#define ROWS_TEXT   N_("Number of rows")


Function Documentation

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

References ACCURACY.

static float clip_unit ( float  f  )  [inline, static]

static void Close ( vlc_object_t p_this  )  [static]

Terminate a splitter module.

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 int Configuration ( panoramix_output_t  pp_output[(15)][(15)],
int  i_col,
int  i_row,
int  i_src_width,
int  i_src_height,
int  i_half_w,
int  i_half_h,
bool  b_attenuate,
const bool *  pb_active 
) [static]

static unsigned CountMonitors ( vlc_object_t obj  )  [static]

static int Filter ( video_splitter_t p_splitter,
picture_t pp_dst[],
picture_t p_src 
) [static]

static void FilterPlanar ( uint8_t *  p_out,
int  i_out_pitch,
const uint8_t *  p_in,
int  i_in_pitch,
int  i_copy_pitch,
int  i_copy_lines,
int  i_pixel_black,
const panoramix_filter_t p_cfg,
uint8_t  p_lut[1000+1][256],
int  lambdav[2][1000/2],
int  lambdah[2][1000/2] 
) [static]

static double GammaFactor ( const panoramix_gamma_t g,
float  f_value 
) [static]

static int Mouse ( video_splitter_t p_splitter,
vlc_mouse_t p_mouse,
int  i_index,
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

int vlc_entry__main ( module_t p_module  ) 

const char* vlc_entry_license__main ( void   ) 


Variable Documentation

Initial value:

 {
    
    {  ( ((uint32_t) 'I' ) | ( ((uint32_t) '4' ) << 8 )   | ( ((uint32_t) '1' ) << 16 ) | ( ((uint32_t) '0' ) << 24 ) ) , { 1, 4, 4, }, { 1, 1, 1, }, { 0, 128, 128 }, true },
    {  ( ((uint32_t) 'I' ) | ( ((uint32_t) '4' ) << 8 )   | ( ((uint32_t) '1' ) << 16 ) | ( ((uint32_t) '1' ) << 24 ) ) , { 1, 4, 4, }, { 1, 4, 4, }, { 0, 128, 128 }, true },
    {  ( ((uint32_t) 'Y' ) | ( ((uint32_t) 'V' ) << 8 )   | ( ((uint32_t) '1' ) << 16 ) | ( ((uint32_t) '2' ) << 24 ) ) , { 1, 2, 2, }, { 1, 2, 2, }, { 0, 128, 128 }, true },
    {  ( ((uint32_t) 'I' ) | ( ((uint32_t) '4' ) << 8 )   | ( ((uint32_t) '2' ) << 16 ) | ( ((uint32_t) '0' ) << 24 ) ) , { 1, 2, 2, }, { 1, 2, 2, }, { 0, 128, 128 }, true },
    {  ( ((uint32_t) 'J' ) | ( ((uint32_t) '4' ) << 8 )   | ( ((uint32_t) '2' ) << 16 ) | ( ((uint32_t) '0' ) << 24 ) ) , { 1, 2, 2, }, { 1, 2, 2, }, { 0, 128, 128 }, true },
    {  ( ((uint32_t) 'I' ) | ( ((uint32_t) '4' ) << 8 )   | ( ((uint32_t) '2' ) << 16 ) | ( ((uint32_t) '2' ) << 24 ) ) , { 1, 2, 2, }, { 1, 1, 1, }, { 0, 128, 128 }, true },
    {  ( ((uint32_t) 'J' ) | ( ((uint32_t) '4' ) << 8 )   | ( ((uint32_t) '2' ) << 16 ) | ( ((uint32_t) '2' ) << 24 ) ) , { 1, 2, 2, }, { 1, 1, 1, }, { 0, 128, 128 }, true },
    {  ( ((uint32_t) 'I' ) | ( ((uint32_t) '4' ) << 8 )   | ( ((uint32_t) '4' ) << 16 ) | ( ((uint32_t) '0' ) << 24 ) ) , { 1, 1, 1, }, { 1, 2, 2, }, { 0, 128, 128 }, true },
    {  ( ((uint32_t) 'J' ) | ( ((uint32_t) '4' ) << 8 )   | ( ((uint32_t) '4' ) << 16 ) | ( ((uint32_t) '0' ) << 24 ) ) , { 1, 1, 1, }, { 1, 2, 2, }, { 0, 128, 128 }, true },
    {  ( ((uint32_t) 'I' ) | ( ((uint32_t) '4' ) << 8 )   | ( ((uint32_t) '4' ) << 16 ) | ( ((uint32_t) '4' ) << 24 ) ) , { 1, 1, 1, }, { 1, 1, 1, }, { 0, 128, 128 }, true },
    

    { 0, {0, }, { 0, }, { 0, 0, 0 }, false }
}

const char* const ppsz_filter_options[] [static]

Initial value:

 {
    "cols", "rows", "bz-length", "bz-height", "attenuate",
    "bz-begin", "bz-middle", "bz-end", "bz-middle-pos", "bz-gamma-red",
    "bz-gamma-green", "bz-gamma-blue", "bz-blackcrush-red",
    "bz-blackcrush-green", "bz-blackcrush-blue", "bz-whitecrush-red",
    "bz-whitecrush-green", "bz-whitecrush-blue", "bz-blacklevel-red",
    "bz-blacklevel-green", "bz-blacklevel-blue", "bz-whitelevel-red",
    "bz-whitelevel-green", "bz-whitelevel-blue", "active",
    NULL
}


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