mosaic.c File Reference

Include dependency graph for mosaic.c:


Data Structures

struct  filter_sys_t
 filter_sys_t: chroma method descriptor More...

Defines

#define BLANK_DELAY   INT64_C(1000000)
#define ALPHA_TEXT   N_("Transparency")
#define ALPHA_LONGTEXT
#define HEIGHT_TEXT   N_("Height")
#define HEIGHT_LONGTEXT   N_( "Total height of the mosaic, in pixels." )
#define WIDTH_TEXT   N_("Width")
#define WIDTH_LONGTEXT   N_( "Total width of the mosaic, in pixels." )
#define XOFFSET_TEXT   N_("Top left corner X coordinate")
#define XOFFSET_LONGTEXT
#define YOFFSET_TEXT   N_("Top left corner Y coordinate")
#define YOFFSET_LONGTEXT
#define BORDERW_TEXT   N_("Border width")
#define BORDERW_LONGTEXT
#define BORDERH_TEXT   N_("Border height")
#define BORDERH_LONGTEXT
#define ALIGN_TEXT   N_("Mosaic alignment" )
#define ALIGN_LONGTEXT
#define POS_TEXT   N_("Positioning method")
#define POS_LONGTEXT
#define ROWS_TEXT   N_("Number of rows")
#define ROWS_LONGTEXT
#define COLS_TEXT   N_("Number of columns")
#define COLS_LONGTEXT
#define AR_TEXT   N_("Keep aspect ratio")
#define AR_LONGTEXT
#define KEEP_TEXT   N_("Keep original size")
#define KEEP_LONGTEXT
#define ORDER_TEXT   N_("Elements order" )
#define ORDER_LONGTEXT
#define OFFSETS_TEXT   N_("Offsets in order" )
#define OFFSETS_LONGTEXT
#define DELAY_TEXT   N_("Delay")
#define DELAY_LONGTEXT
#define CFG_PREFIX   "mosaic-"
#define mosaic_ParseSetOffsets(a, b, c)   __mosaic_ParseSetOffsets( VLC_OBJECT( a ), b, c )
#define GET_VAR(name, min, max)
#define DEL_CB(name)   var_DelCallback( p_filter, CFG_PREFIX #name, MosaicCallback, p_sys )
#define VAR_IS(a)   !strcmp( psz_var, CFG_PREFIX a )

Enumerations

enum  { position_auto = 0, position_fixed = 1, position_offsets = 2 }

Functions

static int CreateFilter (vlc_object_t *)
static void DestroyFilter (vlc_object_t *)
static subpicture_tFilter (filter_t *, mtime_t)
static int MosaicCallback (vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void *)
int vlc_entry__main (module_t *p_module)
const char * vlc_entry_license__main (void)
static void __mosaic_ParseSetOffsets (vlc_object_t *p_this, filter_sys_t *p_sys, char *psz_offsets)

Variables

static const int pi_pos_values [] = { 0, 1, 2 }
static const char *const ppsz_pos_descriptions []
static const int pi_align_values [] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 }
static const char *const ppsz_align_descriptions []
static const char *const ppsz_filter_options []

Define Documentation

#define ALIGN_LONGTEXT

Value:

N_( \
        "You can enforce the mosaic alignment on the video " \
        "(0=center, 1=left, 2=right, 4=top, 8=bottom, you can " \
        "also use combinations of these values, eg 6 = top-right).")

#define ALIGN_TEXT   N_("Mosaic alignment" )

#define ALPHA_LONGTEXT

Value:

N_( \
        "Transparency of the mosaic foreground pictures. " \
        "0 means transparent, 255 opaque (default)." )

#define ALPHA_TEXT   N_("Transparency")

#define AR_LONGTEXT

Value:

N_( \
        "Keep the original aspect ratio when resizing " \
        "mosaic elements." )

#define AR_TEXT   N_("Keep aspect ratio")

#define BLANK_DELAY   INT64_C(1000000)

Referenced by Filter().

#define BORDERH_LONGTEXT

Value:

N_( \
        "Height in pixels of the border between miniatures." )

#define BORDERH_TEXT   N_("Border height")

#define BORDERW_LONGTEXT

Value:

N_( \
        "Width in pixels of the border between miniatures." )

#define BORDERW_TEXT   N_("Border width")

#define CFG_PREFIX   "mosaic-"

#define COLS_LONGTEXT

Value:

N_( \
        "Number of image columns in the mosaic (only used if " \
        "positionning method is set to \"fixed\"." )

#define COLS_TEXT   N_("Number of columns")

#define DEL_CB ( name   )     var_DelCallback( p_filter, CFG_PREFIX #name, MosaicCallback, p_sys )

Referenced by DestroyFilter().

#define DELAY_LONGTEXT

Value:

N_( \
        "Pictures coming from the mosaic elements will be delayed " \
        "according to this value (in milliseconds). For high " \
        "values you will need to raise caching at input.")

#define DELAY_TEXT   N_("Delay")

#define GET_VAR ( name,
min,
max   ) 

Value:

i_command = var_CreateGetIntegerCommand( p_filter, CFG_PREFIX #name );  \
    p_sys->i_##name = __MIN( max, __MAX( min, i_command ) );                \
    var_AddCallback( p_filter, CFG_PREFIX #name, MosaicCallback, p_sys );

#define HEIGHT_LONGTEXT   N_( "Total height of the mosaic, in pixels." )

#define HEIGHT_TEXT   N_("Height")

#define KEEP_LONGTEXT

Value:

N_( \
        "Keep the original size of mosaic elements." )

#define KEEP_TEXT   N_("Keep original size")

#define mosaic_ParseSetOffsets ( a,
b,
 )     __mosaic_ParseSetOffsets( VLC_OBJECT( a ), b, c )

Referenced by CreateFilter(), and MosaicCallback().

#define OFFSETS_LONGTEXT

Value:

N_( \
        "You can enforce the (x,y) offsets of the elements on the mosaic " \
        "(only used if positioning method is set to \"offsets\"). You " \
        "must give a comma-separated list of coordinates (eg: 10,10,150,10)." )

#define OFFSETS_TEXT   N_("Offsets in order" )

#define ORDER_LONGTEXT

Value:

N_( \
        "You can enforce the order of the elements on " \
        "the mosaic. You must give a comma-separated list of picture ID(s)." \
        "These IDs are assigned in the \"mosaic-bridge\" module." )

#define ORDER_TEXT   N_("Elements order" )

#define POS_LONGTEXT

Value:

N_( \
        "Positioning method for the mosaic. auto: " \
        "automatically choose the best number of rows and columns. " \
        "fixed: use the user-defined number of rows and columns. " \
        "offsets: use the user-defined offsets for each image." )

#define POS_TEXT   N_("Positioning method")

#define ROWS_LONGTEXT

Value:

N_( \
        "Number of image rows in the mosaic (only used if " \
        "positionning method is set to \"fixed\")." )

#define ROWS_TEXT   N_("Number of rows")

#define VAR_IS ( a   )     !strcmp( psz_var, CFG_PREFIX a )

#define WIDTH_LONGTEXT   N_( "Total width of the mosaic, in pixels." )

#define WIDTH_TEXT   N_("Width")

#define XOFFSET_LONGTEXT

Value:

N_( \
        "X Coordinate of the top-left corner of the mosaic.")

#define XOFFSET_TEXT   N_("Top left corner X coordinate")

#define YOFFSET_LONGTEXT

Value:

N_( \
        "Y Coordinate of the top-left corner of the mosaic.")

#define YOFFSET_TEXT   N_("Top left corner Y coordinate")


Enumeration Type Documentation

anonymous enum

Enumerator:
position_auto 
position_fixed 
position_offsets 


Function Documentation

static void __mosaic_ParseSetOffsets ( vlc_object_t p_this,
filter_sys_t p_sys,
char *  psz_offsets 
) [static]

static int CreateFilter ( vlc_object_t p_this  )  [static]

static void DestroyFilter ( vlc_object_t p_this  )  [static]

static subpicture_t * Filter ( filter_t p_filter,
mtime_t  date 
) [static]

References subpicture_t::b_absolute, filter_sys_t::b_ar, bridged_es_t::b_empty, subpicture_t::b_ephemer, filter_sys_t::b_keep, BLANK_DELAY, picture_t::date, filter_NewSubpicture(), picture_t::format, GetBridge, i, filter_sys_t::i_align, subpicture_region_t::i_align, bridged_es_t::i_alpha, subpicture_region_t::i_alpha, filter_sys_t::i_alpha, subpicture_t::i_alpha, filter_sys_t::i_borderh, filter_sys_t::i_borderw, subpicture_t::i_channel, video_format_t::i_chroma, filter_sys_t::i_cols, filter_sys_t::i_delay, bridge_t::i_es_num, video_format_t::i_height, filter_sys_t::i_height, filter_sys_t::i_offsets_length, filter_sys_t::i_order_length, filter_sys_t::i_position, filter_sys_t::i_rows, subpicture_t::i_start, subpicture_t::i_stop, video_format_t::i_visible_height, video_format_t::i_visible_width, video_format_t::i_width, filter_sys_t::i_width, subpicture_region_t::i_x, bridged_es_t::i_x, filter_sys_t::i_xoffset, subpicture_region_t::i_y, bridged_es_t::i_y, filter_sys_t::i_yoffset, image_Convert, filter_sys_t::lock, msg_Dbg, msg_Err, msg_Warn, filter_sys_t::p_image, filter_sys_t::p_lock, subpicture_region_t::p_next, picture_t::p_next, subpicture_region_t::p_picture, bridged_es_t::p_picture, subpicture_t::p_region, filter_t::p_sys, p_sys, filter_sys_t::pi_x_offsets, filter_sys_t::pi_y_offsets, picture_Copy(), picture_Release(), position_auto, position_offsets, bridge_t::pp_es, bridged_es_t::pp_last, filter_sys_t::ppsz_order, bridged_es_t::psz_id, subpicture_region_New(), VLC_CODEC_I420, VLC_CODEC_RGBA, VLC_CODEC_YUVA, vlc_mutex_lock(), and vlc_mutex_unlock().

static int MosaicCallback ( vlc_object_t p_this,
char const *  psz_var,
vlc_value_t  oldval,
vlc_value_t  newval,
void *  p_data 
) [static]

int vlc_entry__main ( module_t p_module  ) 

const char* vlc_entry_license__main ( void   ) 


Variable Documentation

const int pi_align_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 } [static]

const int pi_pos_values[] = { 0, 1, 2 } [static]

const char* const ppsz_align_descriptions[] [static]

Initial value:

     { N_("Center"), N_("Left"), N_("Right"), N_("Top"), N_("Bottom"),
     N_("Top-Left"), N_("Top-Right"), N_("Bottom-Left"), N_("Bottom-Right") }

const char* const ppsz_filter_options[] [static]

Initial value:

 {
    "alpha", "height", "width", "align", "xoffset", "yoffset",
    "borderw", "borderh", "position", "rows", "cols",
    "keep-aspect-ratio", "keep-picture", "order", "offsets",
    "delay", NULL
}

const char* const ppsz_pos_descriptions[] [static]

Initial value:

    { N_("auto"), N_("fixed"), N_("offsets") }


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