xine-lib: xine-lib-1.2.13/src/vdr/post_vdr_video.c File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Typedefs | Functions
post_vdr_video.c File Reference
`#include <xine/xine_internal.h>`
`#include <xine/post.h>`
`#include "combined_vdr.h"`

## Data Structures
struct | vdr_video_post_plugin_s

## Macros
#define | LOG_MODULE "vdr_video"

## Typedefs
typedef struct vdr_video_post_plugin_s | vdr_video_post_plugin_t

## Functions
static void | vdr_video_set_video_window (vdr_video_post_plugin_t *this, int32_t x, int32_t y, int32_t w, int32_t h, int32_t w_ref, int32_t h_ref)
static post_plugin_t * | vdr_video_open_plugin (post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
static void | vdr_video_dispose (post_plugin_t *this_gen)
static int | vdr_video_route_preprocessing_procs (post_video_port_t *port, vo_frame_t *frame)
static int | vdr_video_draw (vo_frame_t *frame, xine_stream_t *stream)
void * | vdr_video_init_plugin (xine_t *xine, const void *data)
static void | vdr_video_scale (uint8_t *src, uint8_t *dst, int y_inc, int x_inc, int w_dst, int h_dst, int x, int y, int w, int h, int w_ref, int h_ref, int init)
static void | vdr_video_scale_YUY2 (vdr_video_post_plugin_t *this, vo_frame_t *src, vo_frame_t *dst)
static void | vdr_video_scale_YV12 (vdr_video_post_plugin_t *this, vo_frame_t *src, vo_frame_t *dst)

## Macro Definition Documentation

## ◆ LOG_MODULE

#define LOG_MODULE "vdr_video"

Referenced by vdr_video_draw().

## Typedef Documentation

## ◆ vdr_video_post_plugin_t

typedef struct vdr_video_post_plugin_s vdr_video_post_plugin_t

## Function Documentation

## ◆ vdr_video_dispose()

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

References _x_post_dispose(), vdr_frame_size_changed_data_s::h, vdr_frame_size_changed_data_s::w, vdr_frame_size_changed_data_s::x, xine_event_dispose_queue(), xine_event_send(), XINE_EVENT_VDR_FRAMESIZECHANGED, and vdr_frame_size_changed_data_s::y.

Referenced by vdr_video_open_plugin().

## ◆ vdr_video_draw()

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

References _, _x_continue_stream_processing(), _x_post_frame_copy_down(), _x_post_frame_copy_up(), _x_query_buffer_usage(), vo_frame_s::bad_frame, vo_frame_s::crop_bottom, vo_frame_s::crop_left, vo_frame_s::crop_right, vo_frame_s::crop_top, xine_event_t::data, vo_frame_s::draw, enabled, vo_frame_s::flags, vo_frame_s::format, vo_frame_s::free, xine_video_port_s::get_frame, vdr_frame_size_changed_data_s::h, vdr_set_video_window_data_s::h, vdr_set_video_window_data_s::h_ref, vo_frame_s::height, LOG_MODULE, lprintf, vo_frame_s::next, post_video_port_s::original_port, vo_frame_s::port, post_video_port_s::post, vo_frame_s::proc_frame, vo_frame_s::proc_slice, vdr_frame_size_changed_data_s::r, vo_frame_s::ratio, xine_event_t::type, vdr_is_vdr_stream(), vdr_video_scale_YUY2(), vdr_video_scale_YV12(), vdr_video_set_video_window(), VO_BOTH_FIELDS, vdr_frame_size_changed_data_s::w, vdr_set_video_window_data_s::w, vdr_set_video_window_data_s::w_ref, vo_frame_s::width, vdr_frame_size_changed_data_s::x, vdr_set_video_window_data_s::x, xine_event_dispose_queue(), xine_event_free(), xine_event_get(), xine_event_new_queue(), xine_event_send(), XINE_EVENT_VDR_FRAMESIZECHANGED, XINE_EVENT_VDR_PLUGINSTARTED, XINE_EVENT_VDR_SETVIDEOWINDOW, XINE_EVENT_VDR_TRICKSPEEDMODE, XINE_IMGFMT_YUY2, XINE_IMGFMT_YV12, XINE_VERBOSITY_LOG, xprintf, vdr_frame_size_changed_data_s::y, and vdr_set_video_window_data_s::y.

Referenced by vdr_video_open_plugin().

## ◆ vdr_video_init_plugin()

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

References default_post_class_dispose, N_, NULL, and vdr_video_open_plugin().

## ◆ vdr_video_open_plugin()

static post_plugin_t * vdr_video_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, enabled, input(), post_video_port_s::new_frame, post_video_port_s::new_port, NULL, post_video_port_s::route_preprocessing_procs, vdr_video_dispose(), vdr_video_draw(), and vdr_video_route_preprocessing_procs().

Referenced by vdr_video_init_plugin().

## ◆ vdr_video_route_preprocessing_procs()

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

References enabled, vo_frame_s::format, post_video_port_s::post, XINE_IMGFMT_YUY2, and XINE_IMGFMT_YV12.

Referenced by vdr_video_open_plugin().

## ◆ vdr_video_scale()

static void vdr_video_scale | ( | uint8_t * | src,
|  | uint8_t * | dst,
|  | int | y_inc,
|  | int | x_inc,
|  | int | w_dst,
|  | int | h_dst,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h,
|  | int | w_ref,
|  | int | h_ref,
|  | int | init )
| inlinestatic

Referenced by vdr_video_scale_YUY2(), and vdr_video_scale_YV12().

## ◆ vdr_video_scale_YUY2()

static void vdr_video_scale_YUY2 | ( | vdr_video_post_plugin_t * | this,
|  | vo_frame_t * | src,
|  | vo_frame_t * | dst )
| static

References vo_frame_s::base, vo_frame_s::crop_bottom, vo_frame_s::crop_left, vo_frame_s::crop_right, vo_frame_s::crop_top, vo_frame_s::height, vo_frame_s::pitches, vdr_video_scale(), and vo_frame_s::width.

Referenced by vdr_video_draw().

## ◆ vdr_video_scale_YV12()

static void vdr_video_scale_YV12 | ( | vdr_video_post_plugin_t * | this,
|  | vo_frame_t * | src,
|  | vo_frame_t * | dst )
| static

References vo_frame_s::base, vo_frame_s::crop_bottom, vo_frame_s::crop_left, vo_frame_s::crop_right, vo_frame_s::crop_top, vo_frame_s::height, vo_frame_s::pitches, vdr_video_scale(), and vo_frame_s::width.

Referenced by vdr_video_draw().

## ◆ vdr_video_set_video_window()

static void vdr_video_set_video_window | ( | vdr_video_post_plugin_t * | this,
|  | int32_t | x,
|  | int32_t | y,
|  | int32_t | w,
|  | int32_t | h,
|  | int32_t | w_ref,
|  | int32_t | h_ref )
| static

References enabled.

Referenced by vdr_video_draw().