xine-lib: xine-lib-1.2.13/src/post/planar/eq2.c File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Typedefs | Functions
eq2.c File Reference
`#include "planar.h"`
`#include <xine/xine_internal.h>`
`#include <xine/post.h>`
`#include <xine/xineutils.h>`
`#include <math.h>`
`#include <pthread.h>`

## Data Structures
struct | eq2_param_t
struct | vf_priv_s
struct | eq2_parameters_s

## Typedefs
typedef struct eq2_param_t | eq2_param_t
typedef struct vf_priv_s | vf_eq2_t
typedef struct post_plugin_eq2_s | post_plugin_eq2_t
typedef struct eq2_parameters_s | eq2_parameters_t

## Functions
static void | create_lut (eq2_param_t *par)
static void | apply_lut (eq2_param_t *par, unsigned char *dst, unsigned char *src, unsigned w, unsigned h, unsigned dstride, unsigned sstride)
static void | check_values (eq2_param_t *par)
static void | set_contrast (vf_eq2_t *eq2, double c)
static void | set_brightness (vf_eq2_t *eq2, double b)
static void | set_gamma (vf_eq2_t *eq2, double g)
static void | set_saturation (vf_eq2_t *eq2, double s)
| PARAM_ITEM (PARAM_ITEM(POST_PARAM_TYPE_DOUBLE, gamma, PARAM_ITEM(NULL, PARAM_ITEM(0, PARAM_ITEM(5, PARAM_ITEM(0, "gamma")
static int | set_parameters (xine_post_t *this_gen, const void *param_gen)
static int | get_parameters (xine_post_t *this_gen, void *param_gen)
static xine_post_api_descr_t * | get_param_descr (void)
static char * | get_help (void)
static void | eq2_dispose (post_plugin_t *this_gen)
static int | eq2_get_property (xine_video_port_t *port_gen, int property)
static int | eq2_set_property (xine_video_port_t *port_gen, int property, int value)
static int | eq2_intercept_frame (post_video_port_t *port, vo_frame_t *frame)
static int | eq2_draw (vo_frame_t *frame, xine_stream_t *stream)
static post_plugin_t * | eq2_open_plugin (post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
void * | eq2_init_plugin (xine_t *xine, const void *data)

## Typedef Documentation

## ◆ eq2_param_t

typedef struct eq2_param_t eq2_param_t

## ◆ eq2_parameters_t

typedef struct eq2_parameters_s eq2_parameters_t

## ◆ post_plugin_eq2_t

typedef struct post_plugin_eq2_s post_plugin_eq2_t

## ◆ vf_eq2_t

typedef struct vf_priv_s vf_eq2_t

## Function Documentation

## ◆ apply_lut()

static void apply_lut | ( | eq2_param_t * | par,
|  | unsigned char * | dst,
|  | unsigned char * | src,
|  | unsigned | w,
|  | unsigned | h,
|  | unsigned | dstride,
|  | unsigned | sstride )
| static

References create_lut(), eq2_param_t::lut, and eq2_param_t::lut_clean.

Referenced by check_values().

## ◆ check_values()

static void check_values | ( | eq2_param_t * | par | ) |
| static

References eq2_param_t::adjust, apply_lut(), eq2_param_t::b, eq2_param_t::c, eq2_param_t::g, MM_ACCEL_X86_MMX, NULL, and xine_mm_accel().

Referenced by set_brightness(), set_contrast(), set_gamma(), and set_saturation().

## ◆ create_lut()

static void create_lut | ( | eq2_param_t * | par | ) |
| static

References eq2_param_t::b, eq2_param_t::c, eq2_param_t::g, eq2_param_t::lut, eq2_param_t::lut_clean, and v.

Referenced by apply_lut().

## ◆ eq2_dispose()

static void eq2_dispose | ( | post_plugin_t * | this_gen | ) |
| static

References _x_post_dispose().

Referenced by eq2_open_plugin().

## ◆ eq2_draw()

static int eq2_draw | ( | vo_frame_t * | frame,
|  | xine_stream_t * | stream )
| static

References _x_post_frame_copy_down(), _x_post_frame_copy_up(), eq2_param_t::adjust, vo_frame_s::bad_frame, vo_frame_s::base, vo_frame_s::draw, vo_frame_s::flags, vo_frame_s::format, vo_frame_s::free, xine_video_port_s::get_frame, height, vo_frame_s::height, vo_frame_s::lock, vo_frame_s::next, NULL, post_video_port_s::original_port, vf_priv_s::param, vo_frame_s::pitches, vo_frame_s::port, post_video_port_s::post, vo_frame_s::ratio, VO_BOTH_FIELDS, vo_frame_s::width, width, xine_fast_memcpy, XINE_IMGFMT_YV12, and yuy2_to_yv12.

Referenced by eq2_open_plugin().

## ◆ eq2_get_property()

static int eq2_get_property | ( | xine_video_port_t * | port_gen,
|  | int | property )
| static

References xine_video_port_s::get_property, post_video_port_s::original_port, post_video_port_s::post, XINE_PARAM_VO_BRIGHTNESS, XINE_PARAM_VO_CONTRAST, and XINE_PARAM_VO_SATURATION.

Referenced by eq2_open_plugin().

## ◆ eq2_init_plugin()

void * eq2_init_plugin | ( | xine_t * | xine,
|  | const void * | data )

References post_plugin_s::dispose, eq2_open_plugin(), N_, NULL, and post_class_s::open_plugin.

## ◆ eq2_intercept_frame()

static int eq2_intercept_frame | ( | post_video_port_t * | port,
|  | vo_frame_t * | frame )
| static

References vo_frame_s::format, XINE_IMGFMT_YUY2, and XINE_IMGFMT_YV12.

Referenced by eq2_open_plugin().

## ◆ eq2_open_plugin()

static post_plugin_t * eq2_open_plugin | ( | post_class_t * | class_gen,
|  | int | inputs,
|  | xine_audio_port_t ** | audio_target,
|  | xine_video_port_t ** | video_target )
| static

References _x_post_init(), _x_post_intercept_video_port(), vo_frame_s::draw, eq2_dispose(), eq2_draw(), eq2_get_property(), eq2_intercept_frame(), eq2_set_property(), get_help(), get_param_descr(), get_parameters(), xine_video_port_s::get_property, input(), post_video_port_s::intercept_frame, xine_post_in_s::name, xine_post_out_s::name, post_video_port_s::new_frame, post_video_port_s::new_port, NULL, set_parameters(), xine_post_api_t::set_parameters, xine_video_port_s::set_property, xine_list_push_back(), post_out_s::xine_out, and XINE_POST_DATA_PARAMETERS.

Referenced by eq2_init_plugin().

## ◆ eq2_set_property()

static int eq2_set_property | ( | xine_video_port_t * | port_gen,
|  | int | property,
|  | int | value )
| static

References post_video_port_s::original_port, post_video_port_s::post, set_parameters(), xine_video_port_s::set_property, XINE_PARAM_VO_BRIGHTNESS, XINE_PARAM_VO_CONTRAST, and XINE_PARAM_VO_SATURATION.

Referenced by eq2_open_plugin().

## ◆ get_help()

static char * get_help | ( | void |  | ) |
| static

References _.

Referenced by eq2_open_plugin().

## ◆ get_param_descr()

static xine_post_api_descr_t * get_param_descr | ( | void |  | ) |
| static

Referenced by eq2_open_plugin().

## ◆ get_parameters()

static int get_parameters | ( | xine_post_t * | this_gen,
|  | void * | param_gen )
| static

Referenced by eq2_open_plugin().

## ◆ PARAM_ITEM()

PARAM_ITEM | ( | PARAM_ITEM( | POST_PARAM_TYPE_DOUBLE,
|  | gamma | ,
|  | PARAM_ITEM( | NULL,
|  | PARAM_ITEM( | 0,
|  | PARAM_ITEM( | 5,
|  | PARAM_ITEM( | 0,
|  | "gamma" | )

## ◆ set_brightness()

static void set_brightness | ( | vf_eq2_t * | eq2,
|  | double | b )
| static

References eq2_param_t::b, vf_priv_s::brightness, check_values(), eq2_param_t::lut_clean, and vf_priv_s::param.

Referenced by set_parameters().

## ◆ set_contrast()

static void set_contrast | ( | vf_eq2_t * | eq2,
|  | double | c )
| static

References eq2_param_t::c, check_values(), vf_priv_s::contrast, eq2_param_t::lut_clean, and vf_priv_s::param.

Referenced by set_parameters().

## ◆ set_gamma()

static void set_gamma | ( | vf_eq2_t * | eq2,
|  | double | g )
| static

References vf_priv_s::bgamma, check_values(), eq2_param_t::g, vf_priv_s::gamma, vf_priv_s::ggamma, eq2_param_t::lut_clean, vf_priv_s::param, and vf_priv_s::rgamma.

Referenced by set_parameters().

## ◆ set_parameters()

static int set_parameters | ( | xine_post_t * | this_gen,
|  | const void * | param_gen )
| static

References eq2_parameters_s::bgamma, vf_priv_s::bgamma, eq2_parameters_s::brightness, eq2_parameters_s::contrast, eq2_parameters_s::gamma, eq2_parameters_s::ggamma, vf_priv_s::ggamma, eq2_parameters_s::rgamma, vf_priv_s::rgamma, eq2_parameters_s::saturation, set_brightness(), set_contrast(), set_gamma(), and set_saturation().

Referenced by eq2_open_plugin(), and eq2_set_property().

## ◆ set_saturation()

static void set_saturation | ( | vf_eq2_t * | eq2,
|  | double | s )
| static

References eq2_param_t::c, check_values(), eq2_param_t::lut_clean, vf_priv_s::param, and vf_priv_s::saturation.

Referenced by set_parameters().