Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

visual.h

00001 /*****************************************************************************
00002  * visual.h : Header for the visualisation system
00003  *****************************************************************************
00004  * Copyright (C) 2002 the VideoLAN team
00005  * $Id: visual.h 12404 2005-08-25 19:57:12Z zorglub $
00006  *
00007  * Authors: Clément Stenac <[email protected]>
00008  *
00009  * This program is free software; you can redistribute it and/or modify
00010  * it under the terms of the GNU General Public License as published by
00011  * the Free Software Foundation; either version 2 of the License, or
00012  * (at your option) any later version.
00013  *
00014  * This program is distributed in the hope that it will be useful,
00015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  * GNU General Public License for more details.
00018  *
00019  * You should have received a copy of the GNU General Public License
00020  * along with this program; if not, write to the Free Software
00021  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
00022  *****************************************************************************/
00023 
00024 typedef struct visual_effect_t
00025 {
00026     char *     psz_name;    /* Filter name*/
00027 
00028     int         (*pf_run)( struct visual_effect_t * , aout_instance_t *,
00029                            aout_buffer_t *, picture_t *);
00030     void *     p_data; /* The effect stores whatever it wants here */
00031     int        i_width;
00032     int        i_height;
00033     char *     psz_args;
00034     int        i_nb_chans;
00035 } visual_effect_t ;
00036 
00037 
00038 /*****************************************************************************
00039  * aout_filter_sys_t: visualizer audio filter method descriptor
00040  *****************************************************************************
00041  * This structure is part of the audio filter descriptor.
00042  * It describes some visualizer specific variables.
00043  *****************************************************************************/
00044 typedef struct aout_filter_sys_t
00045 {
00046     vout_thread_t   *p_vout;
00047 
00048     int             i_width;
00049     int             i_height;
00050 
00051     int             i_effect;
00052     visual_effect_t **effect;
00053 } aout_filter_sys_t;
00054 
00055 /* Prototypes */
00056 int scope_Run
00057         (visual_effect_t * , aout_instance_t *, aout_buffer_t *, picture_t *);
00058 int dummy_Run
00059         (visual_effect_t * , aout_instance_t *, aout_buffer_t *, picture_t *);
00060 int random_Run
00061         (visual_effect_t * , aout_instance_t *, aout_buffer_t *, picture_t *);
00062 int spectrum_Run
00063         (visual_effect_t * , aout_instance_t *, aout_buffer_t *, picture_t *);
00064 int spectrometer_Run
00065         (visual_effect_t * , aout_instance_t *, aout_buffer_t *, picture_t *);
00066 #if 0
00067 int blur_Run
00068         (visual_effect_t * , aout_instance_t *, aout_buffer_t *, picture_t *);
00069 #endif
00070 
00071 /* Default vout size */
00072 #define VOUT_WIDTH 533
00073 #define VOUT_HEIGHT 400

Generated on Tue Dec 20 10:14:59 2005 for vlc-0.8.4a by  doxygen 1.4.2