xine-lib: xine-lib-1.2.12/src/post/goom/convolve_fx.c File Reference

xine-lib 1.2.12

Data Structures | Macros | Typedefs | Functions
convolve_fx.c File Reference
`#include "goom_fx.h"`
`#include "goom_plugin_info.h"`
`#include "goom_config.h"`
`#include <math.h>`
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <string.h>`
`#include "motif_goom1.h"`
`#include "motif_goom2.h"`

## Data Structures
struct | _CONV_DATA

## Macros
#define | CONV_MOTIF_W 128
#define | CONV_MOTIF_WMASK 0x7f
#define | NB_THETA 512
#define | sat(a) ((a)>0xFF?0xFF:(a))

## Typedefs
typedef unsigned char | Motif[128][128]
typedef struct _CONV_DATA | ConvData

## Functions
static void | compute_tables (VisualFX *_this, PluginInfo *info)
static void | set_motif (ConvData *data, const Motif motif)
static void | convolve_init (VisualFX *_this, PluginInfo *info)
static void | convolve_free (VisualFX *_this)
static void | create_output_with_brightness (VisualFX *_this, Pixel *src, Pixel *dest, PluginInfo *info, int iff)
static void | convolve_apply (VisualFX *_this, Pixel *src, Pixel *dest, PluginInfo *info)
VisualFX | convolve_create (void)

## Macro Definition Documentation

## ◆ CONV_MOTIF_W

#define CONV_MOTIF_W 128

## ◆ CONV_MOTIF_WMASK

#define CONV_MOTIF_WMASK 0x7f

## ◆ NB_THETA

#define NB_THETA 512

## ◆ sat

#define sat | ( |  | a | ) | ((a)>0xFF?0xFF:(a))

## Typedef Documentation

## ◆ ConvData

typedef struct _CONV_DATA ConvData

## ◆ Motif

typedef unsigned char Motif[128][128]

## Function Documentation

## ◆ compute_tables()

static void compute_tables | ( | VisualFX * | _this,
|  | PluginInfo * | info
| ) |  |
| static

References _VISUAL_FX::fx_data, _CONV_DATA::h_cos, _CONV_DATA::h_height, _CONV_DATA::h_sin, _PLUGIN_INFO::_SIZE_TYPE::height, NB_THETA, and _PLUGIN_INFO::screen.

Referenced by convolve_init(), and create_output_with_brightness().

## ◆ convolve_apply()

static void convolve_apply | ( | VisualFX * | _this,
|  | Pixel * | src,
|  | Pixel * | dest,
|  | PluginInfo * | info
| ) |  |
| static

References _PARAM::change_listener, CONV_MOTIF1, CONV_MOTIF2, create_output_with_brightness(), _PLUGIN_INFO::cycle, _CONV_DATA::factor_adj_p, _CONV_DATA::factor_p, _CONV_DATA::ftheta, FVAL, _VISUAL_FX::fx_data, goom_irand(), _SOUND_INFO::goom_power_p, _PLUGIN_INFO::gRandom, _CONV_DATA::inverse_motif, _SOUND_INFO::last_goom_p, _CONV_DATA::light, NB_THETA, _PLUGIN_INFO::screen, set_motif(), _PLUGIN_INFO::_SIZE_TYPE::size, _PLUGIN_INFO::sound, _SOUND_INFO::speedvar, _CONV_DATA::theta, and _CONV_DATA::visibility.

Referenced by convolve_create().

## ◆ convolve_create()

VisualFX convolve_create | ( | void |  | ) |

References convolve_apply(), convolve_free(), convolve_init(), and _VISUAL_FX::init.

Referenced by goom_init().

## ◆ convolve_free()

static void convolve_free | ( | VisualFX * | _this | ) |
| static

References _VISUAL_FX::fx_data, _CONV_DATA::params, and _PARAMETERS::params.

Referenced by convolve_create().

## ◆ convolve_init()

static void convolve_init | ( | VisualFX * | _this,
|  | PluginInfo * | info
| ) |  |
| static

References compute_tables(), CONV_MOTIF2, _CONV_DATA::factor_adj_p, _CONV_DATA::factor_p, _CONV_DATA::ftheta, _PARAM::fval, _VISUAL_FX::fx_data, _CONV_DATA::inverse_motif, _CONV_DATA::light, FloatVal::max, _PARAM::param, _CONV_DATA::params, _PARAMETERS::params, _VISUAL_FX::params, plugin_parameters, secure_f_feedback, secure_f_param, set_motif(), FloatVal::step, _CONV_DATA::theta, FloatVal::value, and _CONV_DATA::visibility.

Referenced by convolve_create().

## ◆ create_output_with_brightness()

static void create_output_with_brightness | ( | VisualFX * | _this,
|  | Pixel * | src,
|  | Pixel * | dest,
|  | PluginInfo * | info,
|  | int | iff
| ) |  |
| static

References ARCH_X86_64, B_OFFSET, compute_tables(), _CONV_DATA::conv_motif, CONV_MOTIF_W, CONV_MOTIF_WMASK, _VISUAL_FX::fx_data, G_OFFSET, _CONV_DATA::h_cos, _CONV_DATA::h_sin, _PLUGIN_INFO::_SIZE_TYPE::height, _CONV_DATA::inverse_motif, R_OFFSET, sat, _PLUGIN_INFO::screen, _CONV_DATA::theta, _PIXEL::val, _CONV_DATA::visibility, and _PLUGIN_INFO::_SIZE_TYPE::width.

Referenced by convolve_apply().

## ◆ set_motif()

static void set_motif | ( | ConvData * | data,
|  | const Motif | motif
| ) |  |
| static

References _CONV_DATA::conv_motif, CONV_MOTIF_W, and motif.

Referenced by convolve_apply(), and convolve_init().