Go to the documentation of this file.
36 # ifdef HAVE_DVDNAV_NAVTYPES_H
37 # include <dvdnav/nav_types.h>
39 # include <dvdread/nav_types.h>
42 # include "nav_types.h"
45 #define NUM_SEQ_BUFFERS 50
46 #define MAX_STREAMS 32
49 #ifdef WORDS_BIGENDIAN
77 uint32_t field_offs[2];
88 int32_t cur_colors[4];
#define OVERLAY_EVENT_MENU_BUTTON
Definition: video_overlay.h:41
Definition: xine_internal.h:80
#define CMD_SPU_FORCE_DISPLAY
Definition: spudec.c:563
static const decoder_info_t dec_info_data
Definition: spu_decoder.c:377
static int put_y
Definition: spudec.c:734
void spudec_decode_nav(spudec_decoder_t *this, buf_element_t *buf)
Definition: spudec.c:85
uint32_t color[256]
Definition: video_out.h:492
int font_size
Definition: cmml_decoder.c:78
int32_t size
Definition: buffer.h:343
Definition: xmlparser.h:43
int32_t visible
Definition: spudec.h:84
#define CMD_SPU_SET_PXD_OFFSET
Definition: spudec.c:569
Definition: xine_internal.h:123
void spudec_process(spudec_decoder_t *this, int stream_id)
Definition: spudec.c:379
#define SPU_DVD_SUBTYPE_CLUT
Definition: buffer.h:537
Definition: metronom.h:199
static const decoder_info_t spudec_info
Definition: cmml_decoder.c:551
int str_len
Definition: xine.h:1949
#define PLUGIN_SPU_DECODER
Definition: xine_plugin.h:34
static uint8_t * bit_ptr[2]
Definition: spudec.c:732
int32_t need_clut
Definition: spudec.h:87
uint8_t * buf
Definition: spudec.h:63
static void draw_subtitle(spucmml_decoder_t *this, int64_t sub_start)
Definition: cmml_decoder.c:202
char * href
Definition: cmml_decoder.c:58
static const uint32_t supported_types[]
Definition: cmml_decoder.c:549
pci_node_t * next
Definition: dxr3_decode_spu.c:96
static void update_font_size(spucmml_decoder_t *this)
Definition: cmml_decoder.c:93
void xml_parser_finalize_r(xml_parser_t *xml_parser)
Definition: xmlparser.c:134
#define XML_PARSER_CASE_INSENSITIVE
Definition: xmlparser.h:28
#define BUF_SPU_DVD
Definition: buffer.h:286
#define CMD_SPU_WIPE
Definition: spudec.c:570
int32_t o_bottom
Definition: spudec.h:79
uint32_t event_type
Definition: video_overlay.h:60
void(* free_handle)(video_overlay_manager_t *this_gen, int32_t handle)
Definition: video_out.h:525
static void update_src_encoding(void *this_gen, xine_cfg_entry_t *entry)
Definition: cmml_decoder.c:506
char * str_value
Definition: xine.h:1646
#define OSD_TEXT1
Definition: osd.h:281
static int spudec_get_interact_info(spu_decoder_t *this_gen, void *data)
Definition: spu_decoder.c:213
int xml_parser_build_tree_r(xml_parser_t *xml_parser, xml_node_t **root_node)
Definition: xmlparser.c:789
int32_t forced_display
Definition: spudec.h:85
#define CLUT_Y_CR_CB_INIT(_y, _cr, _cb)
Definition: video_overlay.h:31
const plugin_info_t xine_plugin_info[] EXPORTED
Definition: cmml_decoder.c:556
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len)
Definition: memcpy.c:60
static void spudec_reset(spu_decoder_t *this_gen)
Definition: spu_decoder.c:150
@ SUBTITLE_SIZE_NUM
Definition: cmml_decoder.c:44
uint32_t decoder_info[5]
Definition: buffer.h:353
uint32_t clut[16]
Definition: spudec.h:91
uint32_t hili_color[256]
Definition: video_out.h:501
int64_t pts
Definition: spudec.h:98
int32_t handle
Definition: video_overlay.h:45
int64_t(* got_spu_packet)(metronom_t *self, int64_t pts)
Definition: metronom.h:121
video_overlay_object_t object
Definition: spudec.h:116
void _x_meta_info_set(xine_stream_t *s, int info, const char *str)
Definition: info_helper.c:321
int64_t last_event_vpts
Definition: spudec.h:128
xine_event_queue_t * xine_event_new_queue(xine_stream_t *s)
Definition: events.c:330
int32_t o_right
Definition: spudec.h:81
Definition: dxr3_decode_spu.c:93
char * value
Definition: xmlparser.h:45
static int spudec_next_line(vo_overlay_t *spu)
Definition: spudec.c:764
xine_t * xine
Definition: cmml_decoder.c:51
void spudec_clear_nav_list(spudec_decoder_t *this)
Definition: spudec.c:274
static const clut_t default_clut[]
Definition: spu_decoder.c:59
void spudec_decode_nav(spudec_decoder_t *this, buf_element_t *buf)
Definition: spudec.c:85
int spudec_copy_nav_to_overlay(xine_t *xine, pci_t *nav_pci, uint32_t *clut, int32_t button, int32_t mode, vo_overlay_t *overlay, vo_overlay_t *base)
Definition: spudec.c:972
int line_height
Definition: cmml_decoder.c:79
#define SPU_DVD_SUBTYPE_NAV
Definition: buffer.h:540
cmml_anchor_t current_anchor
Definition: cmml_decoder.c:89
video_overlay_object_t object
Definition: video_overlay.h:61
int32_t modified
Definition: spudec.h:83
spudec_state_t state
Definition: spudec.h:96
#define MAX_OBJECTS
Definition: video_overlay.h:34
Definition: spu_decoder.h:74
int32_t(* get_handle)(video_overlay_manager_t *this_gen, int object_type)
Definition: video_out.h:523
#define CMD_SPU_SET_PALETTE
Definition: spudec.c:566
static void update_vertical_offset(void *this_gen, xine_cfg_entry_t *entry)
Definition: cmml_decoder.c:440
char *(* register_string)(config_values_t *self, const char *key, const char *def_value, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition: configfile.h:106
int lines
Definition: cmml_decoder.c:72
static int field
Definition: spudec.c:733
int hili_bottom
Definition: video_out.h:498
uint32_t(* get_capabilities)(xine_video_port_t *self)
Definition: video_out.h:178
#define lprintf(...)
Definition: xineutils.h:620
uint8_t entry0
Definition: spudec.h:56
struct spudec_stream_state_s spudec_stream_state_t
int hili_top
Definition: video_out.h:497
uint64_t vpts
Definition: dxr3_decode_spu.c:95
int vertical_offset
Definition: cmml_decoder.c:85
Definition: video_overlay.h:44
static int get_width(spucmml_decoder_t *this, char *text)
Definition: cmml_decoder.c:141
#define XINE_EVENT_INPUT_BUTTON_FORCE
Definition: xine.h:1850
Definition: video_out.h:472
subtitle_size
Definition: cmml_decoder.c:39
uint8_t hili_trans[256]
Definition: video_out.h:502
int rgb_clut
Definition: video_out.h:494
int64_t vpts
Definition: spudec.h:97
uint32_t cmd_offs
Definition: spudec.h:67
int64_t cached_img_duration
Definition: cmml_decoder.c:77
Definition: xmlparser.h:58
spu_decoder_t spu_decoder
Definition: spudec.h:110
static spu_decoder_t * spucmml_class_open_plugin(spu_decoder_class_t *class_gen, xine_stream_t *stream)
Definition: cmml_decoder.c:458
#define OVERLAY_EVENT_HIDE
Definition: video_overlay.h:40
#define MAX_STREAMS
Definition: spudec.h:46
static void spudec_discontinuity(spu_decoder_t *this_gen)
Definition: spu_decoder.c:174
static void user_data(vdpau_mpeg4_decoder_t *this_gen, uint8_t *buffer, int len)
Definition: vdpau_mpeg4.c:695
struct xml_property_s * props
Definition: xmlparser.h:61
#define llprintf(cat,...)
Definition: xineutils.h:642
int32_t overlay_handle
Definition: spudec.h:99
int64_t pts
Definition: buffer.h:345
static void render_line(spucmml_decoder_t *this, int x, int y, char *text)
Definition: cmml_decoder.c:190
int output_open
Definition: spudec.h:123
int32_t delay
Definition: spudec.h:86
int hili_right
Definition: video_out.h:500
char * text
Definition: cmml_decoder.c:57
const plugin_info_t xine_plugin_info[] EXPORTED
Definition: spu_decoder.c:382
NULL
Definition: xine_plugin.c:78
xine_stream_t * stream
Definition: spudec.h:112
vo_overlay_t * overlay
Definition: video_overlay.h:48
void xine_event_send(xine_stream_t *s, const xine_event_t *event)
Definition: events.c:194
uint32_t field_offs[2]
Definition: spudec.h:77
spudec_state_t state
Definition: spudec.h:119
void xine_event_dispose_queue(xine_event_queue_t *queue)
Definition: events.c:379
spudec_stream_state_t spudec_stream_state[32]
Definition: spudec.h:113
#define SUB_MAX_TEXT
Definition: cmml_decoder.c:35
static void spudec_draw_picture(xine_t *xine, spudec_state_t *state, spudec_seq_t *seq, vo_overlay_t *ovl)
Definition: spudec.c:781
static void _x_freep(void *ptr)
Definition: xineutils.h:263
uint8_t * cmd_ptr
Definition: spudec.h:75
char str[256]
Definition: xine.h:1950
struct xml_node_s * next
Definition: xmlparser.h:63
int cached_height
Definition: cmml_decoder.c:76
#define _x_abort()
Definition: xine_mpeg2new_decoder.c:50
Definition: xine_plugin.h:77
config_values_t * config
Definition: xine_internal.h:82
unsigned int width
Definition: gfontrle.c:4
@ SUBTITLE_SIZE_SMALL
Definition: cmml_decoder.c:40
static always_inline uint32_t bswap_32(uint32_t x)
Definition: ffmpeg_bswap.h:129
int64_t vpts
Definition: video_overlay.h:55
#define XINE_VERSION_CODE
Definition: xine_internal.h:57
#define CMD_SPU_SET_ALPHA
Definition: spudec.c:567
#define SPU_DVD_SUBTYPE_VOBSUB_PACKAGE
Definition: buffer.h:539
int cached_width
Definition: cmml_decoder.c:75
#define _(String)
Definition: vcdplayer.h:39
#define BUF_SPECIAL_SPU_DVD_SUBTYPE
Definition: buffer.h:534
Definition: configfile.h:83
#define BUF_FLAG_SPECIAL
Definition: buffer.h:395
Definition: video_overlay.h:54
int32_t finished
Definition: spudec.h:69
#define XINE_EVENT_UI_SET_TITLE
Definition: xine.h:1816
uint32_t buf_len
Definition: spudec.h:66
rle_elem_t * rle
Definition: video_out.h:474
static void spudec_decode_data(spu_decoder_t *this_gen, buf_element_t *buf)
Definition: spu_decoder.c:79
#define CMD_SPU_SHOW
Definition: spudec.c:564
uint16_t len
Definition: video_out.h:459
const uint32_t * supported_types
Definition: xine_plugin.h:78
int unscaled
Definition: video_out.h:505
int num_rle
Definition: video_out.h:476
#define XML_PARSER_OK
Definition: xmlparser.h:32
uint8_t entry1
Definition: spudec.h:55
Definition: xine_internal.h:107
void spudec_process_nav(spudec_decoder_t *this)
Definition: spudec.c:297
#define SUB_BUFSIZE
Definition: cmml_decoder.c:34
int xine_event_create_listener_thread(xine_event_queue_t *queue, xine_event_listener_cb_t callback, void *user_data)
Definition: events.c:509
struct xml_node_s * child
Definition: xmlparser.h:62
@ SUBTITLE_SIZE_LARGE
Definition: cmml_decoder.c:42
int64_t(* get_current_time)(metronom_clock_t *self)
Definition: metronom.h:239
Definition: spu_decoder.h:42
spu_decoder_t spu_decoder
Definition: cmml_decoder.c:63
uint32_t ra_offs
Definition: spudec.h:64
char * data
Definition: xmlparser.h:60
xine_stream_t * stream
Definition: cmml_decoder.c:66
static void spudec_discover_clut(xine_t *xine, spudec_state_t *state, vo_overlay_t *ovl)
Definition: spudec.c:871
void spudec_reassembly(xine_t *xine, spudec_seq_t *seq, uint8_t *pkt_data, unsigned pkt_len)
#define XINE_VERBOSITY_DEBUG
Definition: xine.h:426
xine_video_port_t *volatile video_out
Definition: xine_internal.h:135
Definition: cmml_decoder.c:56
int width
Definition: video_out.h:479
char * name
Definition: xmlparser.h:59
int32_t vobsub
Definition: spudec.h:89
void spudec_clear_nav_list(spudec_decoder_t *this)
Definition: spudec.c:274
int32_t button_filter
Definition: spudec.h:127
xine_t * xine
Definition: configfile.h:255
uint32_t seq_len
Definition: spudec.h:65
@ SUBTITLE_SIZE_NORMAL
Definition: cmml_decoder.c:41
int spudec_copy_nav_to_overlay(xine_t *xine, pci_t *nav_pci, uint32_t *clut, int32_t button, int32_t mode, vo_overlay_t *overlay, vo_overlay_t *base)
Definition: spudec.c:972
subtitle_size subtitle_size
Definition: cmml_decoder.c:84
pci_node_t pci_cur
Definition: spudec.h:125
#define BUF_SPU_CMML
Definition: buffer.h:293
int32_t cur_colors[4]
Definition: spudec.h:88
struct spucmml_decoder_s spucmml_decoder_t
int32_t(* add_event)(video_overlay_manager_t *this_gen, void *event)
Definition: video_out.h:527
void spudec_update_nav(spudec_decoder_t *this)
Definition: spudec.c:285
Definition: video_out.h:518
osd_object_t * osd
Definition: cmml_decoder.c:87
static unsigned int get_bits(unsigned int bits)
Definition: spudec.c:736
unsigned int height
Definition: gfontrle.c:5
int num_value
Definition: xine.h:1653
const char * font
Definition: cmml_decoder.c:83
int hili_left
Definition: video_out.h:499
uint8_t trans[256]
Definition: video_out.h:493
int slave_started
Definition: cmml_decoder.c:81
Definition: cmml_decoder.c:48
static spu_decoder_t * open_plugin(spu_decoder_class_t *class_gen, xine_stream_t *stream)
Definition: spu_decoder.c:314
enable disable number of frames of telecine pattern sync required before mode change make frames evenly spaced for film mode(24 fps)" ) PARAM_ITEM( POST_PARAM_TYPE_BOOL
void(* unregister_callback)(config_values_t *self, const char *key)
Definition: configfile.h:191
#define CMD_SPU_EOF
Definition: spudec.c:571
#define MINFOUND
Definition: spudec.c:870
uint32_t broken
Definition: spudec.h:71
Definition: xmlparser.h:67
Definition: metronom.h:71
unsigned char * content
Definition: buffer.h:341
int x
Definition: video_out.h:477
static void spudec_do_commands(xine_t *xine, spudec_state_t *state, spudec_seq_t *seq, vo_overlay_t *ovl)
Definition: spudec.c:573
struct spudec_decoder_s spudec_decoder_t
static void spudec_discontinuity(spu_decoder_t *this_gen)
Definition: cmml_decoder.c:416
void spudec_reassembly(xine_t *xine, spudec_seq_t *seq, uint8_t *pkt_data, unsigned int pkt_len)
Definition: spudec.c:316
static void update_osd_font(void *this_gen, xine_cfg_entry_t *entry)
Definition: cmml_decoder.c:448
#define PLUGIN_NONE
Definition: xine_plugin.h:29
uint8_t entry2
Definition: spudec.h:58
int num_buttons
Definition: xine.h:1948
struct xml_property_s * next
Definition: xmlparser.h:46
uint8_t entry3
Definition: spudec.h:57
uint32_t decoder_flags
Definition: buffer.h:350
void spudec_process(spudec_decoder_t *this, int stream_id)
Definition: spudec.c:379
uint32_t complete
Definition: spudec.h:70
int type
Definition: xine.h:1929
spudec_seq_t ra_seq
Definition: spudec.h:95
const char * src_encoding
Definition: cmml_decoder.c:50
static void * init_spu_decoder_plugin(xine_t *xine, const void *data)
Definition: cmml_decoder.c:523
spu_decoder_t *(* open_plugin)(spu_decoder_class_t *this_gen, xine_stream_t *stream)
Definition: spu_decoder.h:47
#define CMD_SPU_HIDE
Definition: spudec.c:565
char text[5][1024]
Definition: cmml_decoder.c:73
static void spudec_set_button(spu_decoder_t *this_gen, int32_t button, int32_t show)
Definition: spu_decoder.c:228
uint32_t type
Definition: buffer.h:362
#define LOG_WIDTH
Definition: cmml_decoder.c:32
uint16_t color
Definition: video_out.h:460
static void spudec_dispose(spu_decoder_t *this_gen)
Definition: cmml_decoder.c:421
struct spudec_clut_struct spudec_clut_t
int y
Definition: video_out.h:478
#define LOG_OSD
Definition: cmml_decoder.c:30
static const uint32_t supported_types[]
Definition: spu_decoder.c:375
Definition: alphablend.h:44
char * name
Definition: xmlparser.h:44
void spudec_update_nav(spudec_decoder_t *this)
Definition: spudec.c:285
int master_started
Definition: cmml_decoder.c:80
struct spucmml_class_s spucmml_class_t
static void spudec_reset(spu_decoder_t *this_gen)
Definition: cmml_decoder.c:410
#define XINE_EVENT_UI_NUM_BUTTONS
Definition: xine.h:1823
uint32_t buttonN
Definition: spudec.h:126
int ovl_caps
Definition: spudec.h:122
struct cmml_anchor_s cmml_anchor_t
vo_overlay_t overlay
Definition: spudec.h:121
static void spudec_dispose(spu_decoder_t *this_gen)
Definition: spu_decoder.c:183
int32_t o_left
Definition: spudec.h:80
pci_t pci
Definition: dxr3_decode_spu.c:94
void spudec_process_nav(spudec_decoder_t *this)
Definition: spudec.c:297
pthread_mutex_t nav_pci_lock
Definition: spudec.h:124
video_overlay_event_t event
Definition: spudec.h:115
int64_t pts
Definition: video_overlay.h:47
xml_parser_t * xml_parser_init_r(const char *buf, int size, int mode)
Definition: xmlparser.c:116
Definition: xine_plugin.h:55
static void spudec_decode_data(spu_decoder_t *this_gen, buf_element_t *buf)
Definition: cmml_decoder.c:242
#define MAX_STREAMS
Definition: xine_ogg_demuxer.c:85
int32_t o_top
Definition: spudec.h:78
#define xprintf(xine, verbose,...)
Definition: xineutils.h:664
int64_t pts
Definition: spudec.h:68
static void * init_plugin(xine_t *xine, const void *data)
Definition: spu_decoder.c:361
static int put_x
Definition: spudec.c:734
static void spu_decoder_class_dispose(spu_decoder_class_t *this_gen)
Definition: cmml_decoder.c:514
#define LOG_SCHEDULING
Definition: cmml_decoder.c:31
int data_size
Definition: video_out.h:475
#define N_(String)
Definition: xineintl.h:47
Definition: video_out.h:458
Definition: cmml_decoder.c:62
#define CMD_SPU_SET_SIZE
Definition: spudec.c:568
#define XINE_EVENT_FRAME_FORMAT_CHANGE
Definition: xine.h:1818
#define BUF_FLAG_PREVIEW
Definition: buffer.h:380
int height
Definition: video_out.h:480
#define XINE_META_INFO_TITLE
Definition: xine.h:1062
#define OVERLAY_EVENT_SHOW
Definition: video_overlay.h:39
int32_t menu_handle
Definition: spudec.h:117