Go to the documentation of this file.
26 # include <X11/Xlib.h>
35 #define SUPPORTED_ENCODER_COUNT 3
177 #define dxr3_video_setpts(fd,arg) dxr3_compat_ioctl((fd), EM8300_IOCTL_VIDEO_SETPTS, (arg))
178 #define dxr3_spu_setpts(fd,arg) dxr3_compat_ioctl((fd), EM8300_IOCTL_SPU_SETPTS, (arg))
179 #define dxr3_spu_setpalette(fd,arg) dxr3_compat_ioctl((fd), EM8300_IOCTL_SPU_SETPALETTE, (arg))
180 #define dxr3_spu_button(fd,arg) dxr3_compat_ioctl((fd), EM8300_IOCTL_SPU_BUTTON, (arg))
Definition: xine_internal.h:80
int val
Definition: em8300.h:40
#define XINE_IMGFMT_YV12
Definition: xine.h:494
int aspect
Definition: video_out_dxr3.h:96
int pitches[3]
Definition: video_out.h:117
Definition: video_out_dxr3.h:129
static dxr3_driver_class_t * dxr3_vo_init_plugin(xine_t *xine, const void *visual_gen)
Definition: video_out_dxr3.c:133
void(* frame_output_cb)(void *user_data, int video_width, int video_height, double video_pixel_aspect, int *dest_x, int *dest_y, int *dest_width, int *dest_height, double *dest_pixel_aspect, int *win_x, int *win_y)
Definition: xine.h:1298
#define EM8300_ASPECTRATIO_16_9
Definition: em8300.h:126
pthread_mutex_t mutex
Definition: video_out.h:132
static void dxr3_overlay_begin(vo_driver_t *this_gen, vo_frame_t *frame_gen, int changed)
Definition: video_out_dxr3.c:756
void dxr3_spu_encode(spu_encoder_t *)
Definition: dxr3_spu_encoder.c:80
Definition: xine_internal.h:123
int(* on_display_frame)(dxr3_driver_t *, dxr3_frame_t *)
Definition: video_out_dxr3.h:142
static vo_frame_t * dxr3_alloc_frame(vo_driver_t *this_gen)
Definition: video_out_dxr3.c:500
Definition: metronom.h:199
void(* unregister_scr)(metronom_clock_t *self, scr_plugin_t *scr)
Definition: metronom.h:262
uint32_t oheight
Definition: video_out_dxr3.h:131
#define XINE_VO_ASPECT_DVB
Definition: xine.h:405
#define EM8300_IOCTL_WRITEREG
Definition: em8300.h:85
#define EM8300_IOCTL_OVERLAY_SETMODE
Definition: em8300.h:100
#define VO_PROP_SATURATION
Definition: video_out.h:244
#define VO_PROP_ASPECT_RATIO
Definition: video_out.h:242
unsigned long d
Definition: xine.h:1244
int clip_map[OVL_PALETTE_SIZE]
Definition: video_out_dxr3.h:161
int video_aspect
Definition: video_out_dxr3.h:112
#define CONF_HELP
Definition: dxr3.h:35
static void dxr3_overlay_end(vo_driver_t *this_gen, vo_frame_t *frame_gen)
Definition: video_out_dxr3.c:802
static int dxr3_redraw_needed(vo_driver_t *this_gen)
Definition: video_out_dxr3.c:986
static vo_driver_t * dxr3_vo_open_plugin(video_driver_class_t *class_gen, const void *visual)
Definition: video_out_dxr3.c:176
#define EM8300_VIDEOMODE_LAST
Definition: em8300.h:132
encoder_data_t * enc
Definition: video_out_dxr3.h:104
int widescreen_enabled
Definition: video_out_dxr3.h:101
int instance
Definition: video_out_dxr3.h:75
char key[16]
Definition: xine_speex_decoder.c:94
int tv_mode
Definition: video_out_dxr3.h:97
int y
Definition: xine.h:1228
struct dxr3_driver_s dxr3_driver_t
int map[OVL_PALETTE_SIZE]
Definition: video_out_dxr3.h:158
int pan_scan
Definition: video_out_dxr3.h:132
#define VO_PROP_WINDOW_HEIGHT
Definition: video_out.h:262
vo_driver_t * video_driver
Definition: xine_internal.h:157
#define XINE_GUI_SEND_DRAWABLE_CHANGED
Definition: xine.h:1557
int overlay_offset_y
Definition: video_out.h:155
struct coeff colcal_upper[3]
Definition: video_out_dxr3.h:66
int ysize
Definition: em8300.h:64
Definition: dxr3_scr.h:25
void _x_alphablend_init(alphablend_t *extra_data, xine_t *xine)
Definition: alphablend.c:2161
Definition: alphablend.h:30
Definition: video_out_dxr3.h:138
#define EM9010_ATTRIBUTE_KEYCOLOR_LOWER
Definition: em8300.h:172
#define default_video_driver_class_dispose
Definition: video_out.h:456
#define VO_PROP_BRIGHTNESS
Definition: video_out.h:246
int height
Definition: em8300.h:60
int dxr3_lavc_init(dxr3_driver_t *, plugin_node_t *)
Definition: ffmpeg_encoder.c:89
#define EM9010_ATTRIBUTE_JITTER
Definition: em8300.h:169
@ ENC_FAME
Definition: video_out_dxr3.h:42
#define dxr3_spu_setpalette(fd, arg)
Definition: video_out_dxr3.h:179
spu_encoder_t * dxr3_spu_encoder_init(void)
Definition: dxr3_spu_encoder.c:68
int dxr3_compat_ioctl(int, int, void *)
Definition: compat.c:27
vo_driver_t * driver
Definition: video_out.h:151
int(* register_scr)(metronom_clock_t *self, scr_plugin_t *scr)
Definition: metronom.h:261
pthread_mutex_t video_device_lock
Definition: video_out_dxr3.h:86
#define XINE_VO_ASPECT_SQUARE
Definition: xine.h:402
#define EM9010_ATTRIBUTE_XOFFSET
Definition: em8300.h:167
uint32_t hili_color[16]
Definition: video_out_dxr3.h:159
#define TYPE_FLOAT
Definition: goomsl_private.h:219
struct dxr3_driver_class_s dxr3_driver_class_t
void(* proc_slice)(vo_frame_t *vo_img, uint8_t **src)
Definition: video_out.h:83
static uint32_t dxr3_get_capabilities(vo_driver_t *this_gen)
Definition: video_out_dxr3.c:494
static void dxr3_update_enhanced_mode(void *this_gen, xine_cfg_entry_t *entry)
Definition: video_out_dxr3.c:1558
Definition: vo_scale.h:39
void _x_vo_scale_translate_gui2video(vo_scale_t *this, int x, int y, int *vid_x, int *vid_y)
Definition: vo_scale.c:312
int shrink
Definition: video_out_dxr3.h:64
int fd_spu
Definition: video_out_dxr3.h:89
vo_scale_t scale
Definition: video_out_dxr3.h:115
#define VO_CAP_YV12
Definition: video_out.h:307
int attribute
Definition: em8300.h:68
int pan_scan
Definition: video_out_dxr3.h:98
static int dxr3_overlay_set_keycolor(dxr3_overlay_t *this)
int(* on_close)(dxr3_driver_t *)
Definition: video_out_dxr3.h:144
void _x_alphablend_free(alphablend_t *extra_data)
Definition: alphablend.c:2180
int(* register_num)(config_values_t *self, const char *key, int def_value, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition: configfile.h:145
int width
Definition: em8300.h:60
static void gather_screen_vars(dxr3_driver_t *this, const x11_visual_t *vis)
static void dxr3_get_property_min_max(vo_driver_t *this_gen, int property, int *min, int *max)
Definition: video_out_dxr3.c:1123
int dxr3_present(xine_stream_t *stream)
Definition: video_out_dxr3.c:123
#define EM8300_IOCTL_OVERLAY_SET_ATTRIBUTE
Definition: em8300.h:104
Definition: video_out.h:472
dxr3_scr_t * dxr3_scr_init(xine_t *xine)
Definition: dxr3_scr.c:72
#define dxr3_video_setpts(fd, arg)
Definition: video_out_dxr3.h:177
void _x_blend_yuy2(uint8_t *dst_img, vo_overlay_t *img_overl, int dst_width, int dst_height, int dst_pitch, alphablend_t *extra_data)
Definition: alphablend.c:1602
static void dxr3_frame_field(vo_frame_t *vo_img, int which_field)
Definition: video_out_dxr3.c:547
void * user_data
Definition: xine.h:1246
float color_interval
Definition: video_out_dxr3.h:60
#define EM8300_OVERLAY_MODE_OVERLAY
Definition: em8300.h:159
int proc_called
Definition: video_out.h:144
static void dxr3_update_frame_format(vo_driver_t *this_gen, vo_frame_t *frame_gen, uint32_t width, uint32_t height, double ratio, int format, int flags)
Definition: video_out_dxr3.c:563
xine_t * xine
Definition: video_out_dxr3.h:72
uint32_t video_width
Definition: video_out_dxr3.h:110
#define EM8300_ASPECTRATIO_4_3
Definition: em8300.h:125
static void dxr3_update_add_bars(void *data, xine_cfg_entry_t *entry)
Definition: video_out_dxr3.c:1542
void xine_usec_sleep(unsigned usec)
Definition: utils.c:546
void(* proc_frame)(vo_frame_t *vo_img)
Definition: video_out.h:79
Definition: video_out.h:50
static void dxr3_update_swap_fields(void *data, xine_cfg_entry_t *entry)
Definition: video_out_dxr3.c:1550
int ypos
Definition: em8300.h:59
static signed int scale(mad_fixed_t sample)
Definition: xine_mad_decoder.c:121
@ ENC_RTE
Definition: video_out_dxr3.h:42
Definition: video_out.h:426
#define OVL_PALETTE_SIZE
Definition: video_out.h:280
int h
Definition: xine.h:1228
#define XINE_VO_ASPECT_ANAMORPHIC
Definition: xine.h:404
#define llprintf(cat,...)
Definition: xineutils.h:642
#define DXR3_VO_ID
Definition: dxr3.h:42
int reg
Definition: em8300.h:39
pthread_mutex_t spu_device_lock
Definition: video_out_dxr3.h:88
int height
Definition: video_out.h:138
#define CONF_KEY
Definition: dxr3.h:33
int x
Definition: xine.h:1228
uint8_t * real_base[3]
Definition: video_out_dxr3.h:134
em8300_bcs_t bcs
Definition: video_out_dxr3.h:102
NULL
Definition: xine_plugin.c:78
encoder_type type
Definition: video_out_dxr3.h:139
#define XINE_GUI_SEND_VIDEOWIN_VISIBLE
Definition: xine.h:1566
#define XINE_VERBOSITY_LOG
Definition: xine.h:425
#define XINE_IMGFMT_DXR3
Definition: dxr3.h:38
static int dxr3_overlay_set_attributes(dxr3_overlay_t *this)
int dxr3_lavc_init(dxr3_driver_t *drv, plugin_node_t *plugin)
Definition: ffmpeg_encoder.c:89
void * display
Definition: xine.h:1240
#define EM8300_VIDEOMODE_DEFAULT
Definition: em8300.h:134
vo_overlay_t * overlay
Definition: video_out_dxr3.h:151
vo_frame_t vo_frame
Definition: video_out_dxr3.h:130
#define EM8300_IOCTL_SETBCS
Definition: em8300.h:87
#define VO_PROP_CONTRAST
Definition: video_out.h:245
int stability
Definition: video_out_dxr3.h:58
#define XINE_GUI_SEND_EXPOSE_EVENT
Definition: xine.h:1560
#define XINE_VISUAL_TYPE_AA
Definition: xine.h:156
encoder_type
Definition: video_out_dxr3.h:42
#define LOG_VID
Definition: video_out_dxr3.c:61
config_values_t * config
Definition: xine_internal.h:82
spu_encoder_t * spu_enc
Definition: video_out_dxr3.h:105
unsigned int width
Definition: gfontrle.c:4
int visual_type
Definition: video_out_dxr3.h:74
Definition: video_out_dxr3.h:70
struct coeff colcal_lower[3]
Definition: video_out_dxr3.h:67
static void dxr3_dispose(vo_driver_t *this_gen)
Definition: video_out_dxr3.c:1200
#define _(String)
Definition: vcdplayer.h:39
spu_encoder_t * dxr3_spu_encoder_init(void)
Definition: dxr3_spu_encoder.c:68
int devnum
Definition: video_out_dxr3.h:77
Definition: configfile.h:83
int(* on_update_format)(dxr3_driver_t *, dxr3_frame_t *)
Definition: video_out_dxr3.h:140
Definition: video_out_dxr3.h:80
rle_elem_t * rle
Definition: video_out.h:474
uint8_t trans[4]
Definition: video_out_dxr3.h:157
#define EM8300_OVERLAY_MODE_OFF
Definition: em8300.h:157
dxr3_scr_t * scr
Definition: video_out_dxr3.h:83
int enhanced_mode
Definition: video_out_dxr3.h:92
int need_reencode
Definition: video_out_dxr3.h:152
int(* on_frame_copy)(dxr3_driver_t *, dxr3_frame_t *, uint8_t **src)
Definition: video_out_dxr3.h:141
int screen_depth
Definition: video_out_dxr3.h:63
int xcorr
Definition: video_out_dxr3.h:56
Definition: video_out_dxr3.h:150
struct dxr3_frame_s dxr3_frame_t
#define EM8300_VIDEOMODE_NTSC
Definition: em8300.h:131
void dxr3_spu_encode(spu_encoder_t *this)
Definition: dxr3_spu_encoder.c:80
int fd_control
Definition: video_out_dxr3.h:85
int yoffset
Definition: video_out_dxr3.h:55
int64_t(* get_current_time)(metronom_clock_t *self)
Definition: metronom.h:239
#define VO_PROP_ZOOM_X
Definition: video_out.h:249
Definition: video_out_dxr3.h:45
int overlay_offset_x
Definition: video_out.h:155
void(* dispose)(vo_frame_t *vo_img)
Definition: video_out.h:103
int(* on_unneeded)(dxr3_driver_t *)
Definition: video_out_dxr3.h:143
#define LOG_OVR
Definition: video_out_dxr3.c:62
static void dxr3_display_frame(vo_driver_t *this_gen, vo_frame_t *frame_gen)
Definition: video_out_dxr3.c:881
#define VO_PAN_SCAN_FLAG
Definition: video_out.h:294
vo_driver_t vo_driver
Definition: video_out_dxr3.h:81
struct dxr3_overlay_s dxr3_overlay_t
static void dxr3_zoomTV(dxr3_driver_t *this)
Definition: video_out_dxr3.c:1502
#define XINE_VERBOSITY_DEBUG
Definition: xine.h:426
int fd_control
Definition: video_out_dxr3.h:52
xine_t * xine
Definition: configfile.h:255
void _x_vo_scale_compute_output_size(vo_scale_t *this)
Definition: vo_scale.c:112
#define XINE_VO_ASPECT_4_3
Definition: xine.h:403
int _x_vo_scale_redraw_needed(vo_scale_t *this)
Definition: vo_scale.c:265
#define VO_PROP_TVMODE
Definition: video_out.h:251
#define VO_PROP_ZOOM_Y
Definition: video_out.h:254
float k
Definition: video_out_dxr3.h:46
int screen_yres
Definition: video_out_dxr3.h:62
static void dxr3_overlay_update(dxr3_driver_t *this)
static int dxr3_set_property(vo_driver_t *this_gen, int property, int value)
Definition: video_out_dxr3.c:1027
const char name[16]
Definition: memcpy.c:569
static int dxr3_get_property(vo_driver_t *this_gen, int property)
Definition: video_out_dxr3.c:998
#define XINE_GUI_SEND_TRANSLATE_GUI_TO_VIDEO
Definition: xine.h:1563
#define EM8300_VIDEOMODE_PAL
Definition: em8300.h:129
int format
Definition: video_out.h:140
unsigned int height
Definition: gfontrle.c:5
#define MVCOMMAND_SYNC
Definition: em8300.h:205
int num_value
Definition: xine.h:1653
void _x_vo_scale_init(vo_scale_t *this, int support_zoom, int scaling_disabled, config_values_t *config)
Definition: vo_scale.c:398
int xine_open_cloexec(const char *name, int flags)
Definition: utils.c:815
int top_bar
Definition: video_out_dxr3.h:113
#define EM8300_IOCTL_OVERLAY_SETSCREEN
Definition: em8300.h:102
#define EM8300_VIDEOMODE_PAL60
Definition: em8300.h:130
#define EM8300_IOCTL_OVERLAY_SETWINDOW
Definition: em8300.h:101
int clut_cluttered
Definition: video_out_dxr3.h:90
static void dxr3_frame_dispose(vo_frame_t *frame_gen)
Definition: video_out_dxr3.c:554
void _x_blend_yuv(uint8_t *dst_base[3], vo_overlay_t *img_overl, int dst_width, int dst_height, int dst_pitches[3], alphablend_t *extra_data)
Definition: alphablend.c:1155
int value
Definition: em8300.h:69
#define VO_PROP_WINDOW_WIDTH
Definition: video_out.h:261
#define EM9010_ATTRIBUTE_STABILITY
Definition: em8300.h:170
video_driver_class_t video_driver_class
Definition: video_out_dxr3.h:71
xine_t * xine
Definition: video_out_dxr3.h:50
#define EM9010_ATTRIBUTE_YOFFSET
Definition: em8300.h:168
int swap_fields
Definition: video_out_dxr3.h:93
int overlay_enabled
Definition: video_out_dxr3.h:99
#define EM9010_ATTRIBUTE_XCORR
Definition: em8300.h:166
static int dxr3_overlay_read_state(dxr3_overlay_t *this)
#define EM8300_IOCTL_SET_VIDEOMODE
Definition: em8300.h:91
uint32_t video_oheight
Definition: video_out_dxr3.h:109
int malloc_size
Definition: video_out_dxr3.h:155
#define SUPPORTED_ENCODER_COUNT
Definition: video_out_dxr3.h:35
#define XINE_VISUAL_TYPE_X11
Definition: xine.h:154
alphablend_t alphablend_extra_data
Definition: video_out_dxr3.h:116
void * handle
Definition: video_out_dxr3.h:147
int xoffset
Definition: video_out_dxr3.h:54
static void dxr3_frame_proc_frame(vo_frame_t *frame_gen)
Definition: video_out_dxr3.c:523
int need_update
Definition: video_out_dxr3.h:106
int size
Definition: video_out_dxr3.h:154
int64_t vpts
Definition: video_out.h:110
int jitter
Definition: video_out_dxr3.h:57
static void dxr3_frame_proc_slice(vo_frame_t *frame_gen, uint8_t **src)
Definition: video_out_dxr3.c:532
int screen_xres
Definition: video_out_dxr3.h:61
int aspect
Definition: video_out_dxr3.h:132
dxr3_overlay_t overlay
Definition: video_out_dxr3.h:118
void * mem
Definition: video_out_dxr3.h:133
int swap_fields
Definition: video_out_dxr3.h:135
#define DECODE_PIPE_PREBUFFER
Definition: video_out_dxr3.c:78
#define VO_CAP_YUY2
Definition: video_out.h:308
uint8_t * target
Definition: video_out_dxr3.h:153
#define EM9010_ATTRIBUTE_KEYCOLOR_UPPER
Definition: em8300.h:171
Definition: plugin_catalog.h:44
int fd_video
Definition: video_out_dxr3.h:87
Definition: video_out.h:59
double video_ratio
Definition: video_out_dxr3.h:111
float m
Definition: video_out_dxr3.h:46
uint32_t video_iheight
Definition: video_out_dxr3.h:108
int microcode_register
Definition: em8300.h:41
Definition: video_out_dxr3.h:49
double ratio
Definition: video_out.h:139
int width
Definition: video_out.h:138
int add_bars
Definition: video_out_dxr3.h:94
int xpos
Definition: em8300.h:59
#define EM8300_IOCTL_SET_ASPECTRATIO
Definition: em8300.h:89
int colorkey
Definition: video_out_dxr3.h:59
uint32_t color[16]
Definition: video_out_dxr3.h:156
uint8_t * base[3]
Definition: video_out.h:116
int tv_switchable
Definition: video_out_dxr3.h:100
static int dxr3_gui_data_exchange(vo_driver_t *this_gen, int data_type, void *data)
Definition: video_out_dxr3.c:1140
#define VO_PROP_COLORKEY
Definition: video_out.h:247
void _x_vo_scale_compute_ideal_size(vo_scale_t *this)
Definition: vo_scale.c:47
#define dxr3_spu_button(fd, arg)
Definition: video_out_dxr3.h:180
#define XINE_IMGFMT_YUY2
Definition: xine.h:495
#define CONF_NAME
Definition: dxr3.h:34
static void dxr3_overlay_blend(vo_driver_t *this_gen, vo_frame_t *frame_gen, vo_overlay_t *overlay)
Definition: video_out_dxr3.c:777
char * _x_asprintf(const char *format,...)
Definition: utils.c:783
@ ENC_LAVC
Definition: video_out_dxr3.h:42
int w
Definition: xine.h:1228
#define xprintf(xine, verbose,...)
Definition: xineutils.h:664
void * dxr3_aa_init_plugin(xine_t *xine, const void *visual_gen)
Definition: video_out_dxr3.c:167
#define N_(String)
Definition: xineintl.h:47
void(* free)(vo_frame_t *vo_img)
Definition: video_out.h:100
uint8_t hili_trans[4]
Definition: video_out_dxr3.h:160
void(* field)(vo_frame_t *vo_img, int which_field)
Definition: video_out.h:86
int xsize
Definition: em8300.h:64