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

xine-lib 1.2.13-20230125hg15249

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

## Data Structures
struct | boxblur_parameters_s

## Typedefs
typedef struct post_plugin_boxblur_s | post_plugin_boxblur_t
typedef struct boxblur_parameters_s | boxblur_parameters_t

## Functions
| PARAM_ITEM (PARAM_ITEM(POST_PARAM_TYPE_INT, luma_radius, PARAM_ITEM(NULL, PARAM_ITEM(0, PARAM_ITEM(10, PARAM_ITEM(0, "radius of luma blur")
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 | boxblur_dispose (post_plugin_t *this_gen)
static int | boxblur_intercept_frame (post_video_port_t *port, vo_frame_t *frame)
static void | blur (uint8_t *dst, uint8_t *src, int w, int radius, int dstStep, int srcStep)
static void | blur2 (uint8_t *dst, uint8_t *src, int w, int radius, int power, int dstStep, int srcStep)
static void | hBlur (uint8_t *dst, uint8_t *src, int w, int h, int dstStride, int srcStride, int radius, int power)
static void | vBlur (uint8_t *dst, uint8_t *src, int w, int h, int dstStride, int srcStride, int radius, int power)
static int | boxblur_draw (vo_frame_t *frame, xine_stream_t *stream)
static post_plugin_t * | boxblur_open_plugin (post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
void * | boxblur_init_plugin (xine_t *xine, const void *data)

## Typedef Documentation

## ◆ boxblur_parameters_t

typedef struct boxblur_parameters_s boxblur_parameters_t

## ◆ post_plugin_boxblur_t

typedef struct post_plugin_boxblur_s post_plugin_boxblur_t

## Function Documentation

## ◆ blur()

static void blur | ( | uint8_t * | dst,
|  | uint8_t * | src,
|  | int | w,
|  | int | radius,
|  | int | dstStep,
|  | int | srcStep )
| inlinestatic

Referenced by blur2().

## ◆ blur2()

static void blur2 | ( | uint8_t * | dst,
|  | uint8_t * | src,
|  | int | w,
|  | int | radius,
|  | int | power,
|  | int | dstStep,
|  | int | srcStep )
| inlinestatic

References blur().

Referenced by hBlur(), and vBlur().

## ◆ boxblur_dispose()

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

References _x_post_dispose().

Referenced by boxblur_open_plugin().

## ◆ boxblur_draw()

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

References _x_post_frame_copy_down(), _x_post_frame_copy_up(), 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, hBlur(), vo_frame_s::height, vo_frame_s::lock, vo_frame_s::next, post_video_port_s::original_port, vo_frame_s::pitches, vo_frame_s::port, post_video_port_s::post, vo_frame_s::ratio, vBlur(), VO_BOTH_FIELDS, vo_frame_s::width, XINE_IMGFMT_YV12, and yuy2_to_yv12.

Referenced by boxblur_open_plugin().

## ◆ boxblur_init_plugin()

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

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

## ◆ boxblur_intercept_frame()

static int boxblur_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 boxblur_open_plugin().

## ◆ boxblur_open_plugin()

static post_plugin_t * boxblur_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(), boxblur_dispose(), boxblur_draw(), boxblur_intercept_frame(), vo_frame_s::draw, get_help(), get_param_descr(), get_parameters(), 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_list_push_back(), post_out_s::xine_out, and XINE_POST_DATA_PARAMETERS.

Referenced by boxblur_init_plugin().

## ◆ get_help()

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

References _.

Referenced by boxblur_open_plugin().

## ◆ get_param_descr()

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

Referenced by boxblur_open_plugin().

## ◆ get_parameters()

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

Referenced by boxblur_open_plugin().

## ◆ hBlur()

static void hBlur | ( | uint8_t * | dst,
|  | uint8_t * | src,
|  | int | w,
|  | int | h,
|  | int | dstStride,
|  | int | srcStride,
|  | int | radius,
|  | int | power )
| static

References blur2().

Referenced by boxblur_draw().

## ◆ PARAM_ITEM()

PARAM_ITEM | ( | PARAM_ITEM( | POST_PARAM_TYPE_INT,
|  | luma_radius | ,
|  | PARAM_ITEM( | NULL,
|  | PARAM_ITEM( | 0,
|  | PARAM_ITEM( | 10,
|  | PARAM_ITEM( | 0,
|  | "radius of luma blur" | )

## ◆ set_parameters()

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

Referenced by boxblur_open_plugin().

## ◆ vBlur()

static void vBlur | ( | uint8_t * | dst,
|  | uint8_t * | src,
|  | int | w,
|  | int | h,
|  | int | dstStride,
|  | int | srcStride,
|  | int | radius,
|  | int | power )
| static

References blur2().

Referenced by boxblur_draw().