]> git.sesse.net Git - vlc/blobdiff - modules/visualization/visual/visual.h
goom: build fixes
[vlc] / modules / visualization / visual / visual.h
index 7d0997279968ed5841bb928118e308c3b2527e03..d1b20c42bfcb32365d4fa00438306f98cbb6ce88 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * visual.h : Header for the visualisation system
  *****************************************************************************
- * Copyright (C) 2002 the VideoLAN team
+ * Copyright (C) 2002-2009 the VideoLAN team
  * $Id$
  *
  * Authors: ClĂ©ment Stenac <zorglub@via.ecp.fr>
 
 typedef struct visual_effect_t
 {
-    char *     psz_name;    /* Filter name*/
+    const char *psz_name;    /* Filter name*/
 
-    int         (*pf_run)( struct visual_effect_t * , aout_instance_t *,
-                           aout_buffer_t *, picture_t *);
+    int        (*pf_run)( struct visual_effect_t * , vlc_object_t *,
+                          const block_t *, picture_t *);
     void *     p_data; /* The effect stores whatever it wants here */
     int        i_width;
     int        i_height;
     char *     psz_args;
     int        i_nb_chans;
+
+    /* Channels index */
+    int        i_idx_left;
+    int        i_idx_right;
 } visual_effect_t ;
 
+typedef struct spectrum_data
+{
+    int *peaks;
+    int *prev_heights;
+
+    unsigned i_prev_nb_samples;
+    int16_t *p_prev_s16_buff;
+} spectrum_data;
+
+typedef struct
+{
+    int *peaks;
+
+    unsigned i_prev_nb_samples;
+    int16_t *p_prev_s16_buff;
+} spectrometer_data;
 
 /*****************************************************************************
  * aout_filter_sys_t: visualizer audio filter method descriptor
@@ -41,7 +61,7 @@ typedef struct visual_effect_t
  * This structure is part of the audio filter descriptor.
  * It describes some visualizer specific variables.
  *****************************************************************************/
-typedef struct aout_filter_sys_t
+struct filter_sys_t
 {
     vout_thread_t   *p_vout;
 
@@ -50,24 +70,22 @@ typedef struct aout_filter_sys_t
 
     int             i_effect;
     visual_effect_t **effect;
-} aout_filter_sys_t;
+};
 
 /* Prototypes */
 int scope_Run
-        (visual_effect_t * , aout_instance_t *, aout_buffer_t *, picture_t *);
+        (visual_effect_t * , vlc_object_t *, const block_t *, picture_t *);
+int vuMeter_Run
+        (visual_effect_t * , vlc_object_t *, const block_t *, picture_t *);
 int dummy_Run
-        (visual_effect_t * , aout_instance_t *, aout_buffer_t *, picture_t *);
+        (visual_effect_t * , vlc_object_t *, const block_t *, picture_t *);
 int random_Run
-        (visual_effect_t * , aout_instance_t *, aout_buffer_t *, picture_t *);
+        (visual_effect_t * , vlc_object_t *, const block_t *, picture_t *);
 int spectrum_Run
-        (visual_effect_t * , aout_instance_t *, aout_buffer_t *, picture_t *);
+        (visual_effect_t * , vlc_object_t *, const block_t *, picture_t *);
 int spectrometer_Run
-        (visual_effect_t * , aout_instance_t *, aout_buffer_t *, picture_t *);
-#if 0
-int blur_Run
-        (visual_effect_t * , aout_instance_t *, aout_buffer_t *, picture_t *);
-#endif
+        (visual_effect_t * , vlc_object_t *, const block_t *, picture_t *);
 
 /* Default vout size */
-#define VOUT_WIDTH 533
-#define VOUT_HEIGHT 400
+#define VOUT_WIDTH 800
+#define VOUT_HEIGHT 640