Definition: xine_internal.h:80
uint32_t color[256]
Definition: video_out.h:492
int32_t size
Definition: buffer.h:343
xine_t * xine
Definition: xine_internal.h:126
uint8_t id
Definition: spuhdmv_decoder.c:103
Definition: spuhdmv_decoder.c:102
window_def_t * windows
Definition: spuhdmv_decoder.c:708
int font_size
Definition: sputext_decoder.c:162
#define BUF_SPU_HDMV
Definition: buffer.h:294
int max_regions
Definition: spudvb_decoder.c:233
@ SUBTITLE_SIZE_NUM
Definition: sputext_decoder.c:110
uint8_t * buf
Definition: spuhdmv_decoder.c:217
uint32_t data_len
Definition: spuhdmv_decoder.c:88
#define FORMAT_SSA
Definition: sputext_demuxer.c:121
static int is_cjk_encoding(const char *enc)
Definition: sputext_decoder.c:520
Definition: xine_internal.h:123
Definition: metronom.h:199
#define OSD_TEXT2
Definition: osd.h:282
int errs
Definition: sputext_demuxer.c:90
osd_object_t * osd
Definition: sputext_decoder.c:168
@ SUBTITLE_SIZE_NORMAL
Definition: sputext_decoder.c:105
static int decode_object(spuhdmv_decoder_t *this)
Definition: spuhdmv_decoder.c:737
uint32_t value
Definition: spudvb_decoder.c:51
uint16_t object_id_ref
Definition: spuhdmv_decoder.c:119
#define PLUGIN_SPU_DECODER
Definition: xine_plugin.h:34
int page_time_out
Definition: spudvb_decoder.c:198
static unsigned char default_trans[256]
Definition: spudvb_decoder.c:270
static rle_elem_t * copy_crop_rle(subtitle_object_t *obj, composition_object_t *cobj)
Definition: spuhdmv_decoder.c:682
#define VO_PROP_OUTPUT_WIDTH
Definition: video_out.h:265
static int parse_utf8_size(const void *buf)
Definition: sputext_decoder.c:308
Definition: spudvb_decoder.c:244
uint8_t palette_id_ref
Definition: spuhdmv_decoder.c:144
int uses_time
Definition: sputext_demuxer.c:89
int x
Definition: sputext_decoder.c:136
xine_stream_t * stream
Definition: sputext_demuxer.c:79
xine_stream_t * stream
Definition: sputext_decoder.c:146
int vertical_offset
Definition: sputext_decoder.c:119
#define FORMAT_MPL2
Definition: sputext_demuxer.c:128
static int demux_sputext_get_optional_data(demux_plugin_t *this_gen, void *data, int data_type)
Definition: sputext_demuxer.c:1386
uint8_t object_number
Definition: spuhdmv_decoder.c:145
#define PLUGIN_MUST_PRELOAD
Definition: xine_plugin.h:46
page_t page
Definition: spudvb_decoder.c:234
uint8_t cropped_flag
Definition: spuhdmv_decoder.c:124
static void demux_sputext_send_headers(demux_plugin_t *this_gen)
Definition: sputext_demuxer.c:1361
static const uint8_t * lookup_lut(const dvbsub_func_t *dvbsub, int r)
Definition: spudvb_decoder.c:390
static int demux_sputext_get_status(demux_plugin_t *this_gen)
Definition: sputext_demuxer.c:1314
char key[16]
Definition: xine_speex_decoder.c:94
#define XINE_HDMV_TRACE
Definition: spuhdmv_decoder.c:45
char * encoding
Definition: sputext_demuxer.c:97
void(* free_handle)(video_overlay_manager_t *this_gen, int32_t handle)
Definition: video_out.h:525
#define BUF_FLAG_HEADER
Definition: buffer.h:375
static subtitle_t * sub_read_line_rt(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:467
static int sparse_array_set(sparse_array_t *sa, uint32_t key, uint32_t value)
Definition: spudvb_decoder.c:134
static int sub_autodetect(demux_sputext_t *this)
Definition: sputext_demuxer.c:1004
#define rgb2yuv(R, G, B)
Definition: sputext_decoder.c:68
subtitle_t * subtitles
Definition: sputext_demuxer.c:91
static subtitle_t * sub_read_line_subrip09(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:934
static void free_subtitle_object(void *ptr)
Definition: spuhdmv_decoder.c:184
char * str_value
Definition: xine.h:1646
static int segbuf_decode_composition_descriptor(segment_buffer_t *buf, composition_descriptor_t *descr)
Definition: spuhdmv_decoder.c:601
Definition: sputext_demuxer.c:76
static void recalculate_trans(dvb_spu_decoder_t *this)
Definition: spudvb_decoder.c:617
int objects_start
Definition: spudvb_decoder.c:211
#define VO_PROP_WINDOW_HEIGHT
Definition: video_out.h:262
static const uint32_t sub_palette[22]
Definition: sputext_decoder.c:70
#define OSD_TEXT1
Definition: osd.h:281
#define LIST_DESTROY(list, FREE_FUNC)
Definition: spuhdmv_decoder.c:177
static void process_region_composition_segment(dvb_spu_decoder_t *this)
Definition: spudvb_decoder.c:808
#define FORMAT_SUBVIEWER
Definition: sputext_demuxer.c:117
#define BUF_SPU_DVB
Definition: buffer.h:289
int ogm
Definition: sputext_decoder.c:148
static int decode_palette(spuhdmv_decoder_t *this)
Definition: spuhdmv_decoder.c:725
int use_unscaled
Definition: sputext_decoder.c:126
static subtitle_t * sub_read_file(demux_sputext_t *this)
Definition: sputext_demuxer.c:1148
unsigned int pes_pkt_size
Definition: spudvb_decoder.c:257
#define XINE_STREAM_INFO_HAS_VIDEO
Definition: xine.h:1023
static void segbuf_skip_segment(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:290
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len)
Definition: memcpy.c:60
clut_t c
Definition: spudvb_decoder.c:218
Definition: spudvb_decoder.c:197
int i
Definition: spudvb_decoder.c:229
#define FORMAT_SUBRIP
Definition: sputext_demuxer.c:116
static void * init_spu_decoder_plugin(xine_t *xine, const void *data)
Definition: sputext_decoder.c:1125
size_t len
Definition: spuhdmv_decoder.c:218
#define FORMAT_MICRODVD
Definition: sputext_demuxer.c:115
uint8_t * segment_end
Definition: spuhdmv_decoder.c:213
uint32_t decoder_info[5]
Definition: buffer.h:353
#define DEMUX_OK
Definition: demux.h:33
static int demux_sputext_send_chunk(demux_plugin_t *this_gen)
Definition: sputext_demuxer.c:1329
char *(* register_filename)(config_values_t *self, const char *key, const char *def_value, int req_type, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition: configfile.h:115
subtitle_size
Definition: sputext_decoder.c:102
#define VO_PROP_OUTPUT_HEIGHT
Definition: video_out.h:266
static void decode_2bit_pixel_code_string(dvb_spu_decoder_t *this, int r, int object_id, int ofs, int n)
Definition: spudvb_decoder.c:429
int overlay_handles[MAX_OBJECTS]
Definition: spuhdmv_decoder.c:711
int x
Definition: spudvb_decoder.c:224
char font[100]
Definition: sputext_decoder.c:120
unsigned char trans[16 *256]
Definition: spudvb_decoder.c:237
#define FORMAT_JACOBSUB
Definition: sputext_demuxer.c:125
int line_height
Definition: sputext_decoder.c:163
#define BUF_CONTROL_SPU_CHANNEL
Definition: buffer.h:75
static void _sparse_array_sort(sparse_array_t *sa)
Definition: spudvb_decoder.c:94
#define METRONOM_VPTS_OFFSET
Definition: metronom.h:176
@ SUBTITLE_SIZE_LARGE
Definition: sputext_decoder.c:106
void _x_demux_control_start(xine_stream_t *s)
Definition: demux.c:256
int64_t(* got_spu_packet)(metronom_t *self, int64_t pts)
Definition: metronom.h:121
struct dvbsub_func_t::@46 lut[16]
static subtitle_object_t * segbuf_decode_object(segment_buffer_t *buf, subtitle_object_t *objects)
Definition: spuhdmv_decoder.c:456
int(* register_enum)(config_values_t *self, const char *key, int def_value, char **values, const char *description, const char *help, int exp_level, xine_config_cb_t changed_cb, void *cb_data)
Definition: configfile.h:135
int64_t pts
Definition: spuhdmv_decoder.c:713
int lines
Definition: sputext_decoder.c:149
static void hide_overlays(spuhdmv_decoder_t *this, int64_t pts)
Definition: spuhdmv_decoder.c:883
static void close_osd(spuhdmv_decoder_t *this)
Definition: spuhdmv_decoder.c:987
#define BUF_SPECIAL_CHARSET_ENCODING
Definition: buffer.h:524
spu_decoder_t spu_decoder
Definition: spuhdmv_decoder.c:700
osd_object_t * osd
Definition: spudvb_decoder.c:214
int shown
Definition: spuhdmv_decoder.c:152
composition_object_t * comp_objs
Definition: spuhdmv_decoder.c:147
char * pes_pkt_wrptr
Definition: spudvb_decoder.c:256
int last_y
Definition: sputext_decoder.c:177
uint8_t id
Definition: spuhdmv_decoder.c:65
int lines
Definition: sputext_demuxer.c:66
const char * buf_encoding
Definition: sputext_decoder.c:158
#define LOG_MODULE
Definition: spudvb_decoder.c:37
uint16_t crop_width
Definition: spuhdmv_decoder.c:126
static void spudec_decode_data(spu_decoder_t *this_gen, buf_element_t *buf)
Definition: sputext_decoder.c:801
#define VO_PROP_DISCARD_FRAMES
Definition: video_out.h:260
static void unlock_mutex_cancellation_func(void *mutex_gen)
Definition: spudvb_decoder.c:945
demux_plugin_t demux_plugin
Definition: sputext_demuxer.c:78
static const decoder_info_t spudec_info
Definition: spudvb_decoder.c:1380
struct spuhdmv_decoder_s spuhdmv_decoder_t
visible_region_t regions[16]
Definition: spudvb_decoder.c:202
#define MAX_OBJECTS
Definition: video_overlay.h:34
static void read_ssa_tag(sputext_decoder_t *this, const char *text, int *alignment, int *sub_x, int *sub_y, int *max_width)
Definition: sputext_decoder.c:443
uint16_t xpos
Definition: spuhdmv_decoder.c:104
Definition: spuhdmv_decoder.c:134
Definition: spu_decoder.h:74
int32_t(* get_handle)(video_overlay_manager_t *this_gen, int object_type)
Definition: video_out.h:523
static int demux_sputext_seek(demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing)
Definition: sputext_demuxer.c:1339
static const uint8_t sub_trans[22]
Definition: sputext_decoder.c:97
static void segbuf_reset(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:238
#define VO_PROP_OUTPUT_YOFFSET
Definition: video_out.h:268
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
osd_renderer_t * renderer
Definition: sputext_decoder.c:167
static void update_use_unscaled(void *class_gen, xine_cfg_entry_t *entry)
Definition: sputext_decoder.c:1074
static subtitle_t * sub_read_line_mpsub(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:625
clut_union_t colours[16 *256]
Definition: spudvb_decoder.c:236
int hili_bottom
Definition: video_out.h:498
struct sputext_decoder_s sputext_decoder_t
int max_timeout
Definition: sputext_demuxer.c:106
int vertical_offset
Definition: sputext_decoder.c:156
#define lprintf(...)
Definition: xineutils.h:620
int shown
Definition: spuhdmv_decoder.c:130
static void set_clut(dvb_spu_decoder_t *this, int CLUT_id, int CLUT_entry_id, int Y_value, int Cr_value, int Cb_value, int T_value)
Definition: spudvb_decoder.c:636
int hili_top
Definition: video_out.h:497
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
uint8_t * segment_data
Definition: spuhdmv_decoder.c:212
unsigned int curr_obj
Definition: spudvb_decoder.c:226
static subtitle_t * sub_read_line_subrip(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:345
int y
Definition: sputext_decoder.c:137
@ SEGTYPE_WINDOW_DEFINITION
Definition: spuhdmv_decoder.c:55
Definition: video_out.h:472
static void draw_subtitle(sputext_decoder_t *this, int64_t sub_start, int64_t sub_end)
Definition: sputext_decoder.c:559
subtitle_size
Definition: cmml_decoder.c:39
Definition: spudvb_decoder.c:192
#define SPU_PROJECTION_X
Definition: sputext_decoder.c:63
struct timespec dvbsub_hide_timeout
Definition: spudvb_decoder.c:263
unsigned char lut28[4]
Definition: spudvb_decoder.c:239
static uint32_t demux_sputext_get_capabilities(demux_plugin_t *this_gen)
Definition: sputext_demuxer.c:1381
int rgb_clut
Definition: video_out.h:494
const plugin_info_t xine_plugin_info[] EXPORTED
Definition: spuhdmv_decoder.c:1112
@ SEGTYPE_PALETTE
Definition: spuhdmv_decoder.c:52
static void reset_clut(dvbsub_func_t *dvbsub)
Definition: spudvb_decoder.c:273
int num
Definition: sputext_demuxer.c:92
size_t data_size
Definition: spuhdmv_decoder.c:85
static int detect_utf8(subtitle_t *subs, int num_subs)
Definition: sputext_demuxer.c:1110
static void process_page_composition_segment(dvb_spu_decoder_t *this)
Definition: spudvb_decoder.c:758
#define FONTNAME_SIZE
Definition: sputext_decoder.c:113
static subtitle_t * sub_read_line_subviewer(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:309
subtitle_size subtitle_size
Definition: sputext_decoder.c:155
uint16_t id
Definition: spuhdmv_decoder.c:78
uint16_t crop_horiz_pos
Definition: spuhdmv_decoder.c:125
static void spudec_discontinuity(spu_decoder_t *this_gen)
Definition: spudvb_decoder.c:1231
const plugin_info_t xine_plugin_info[] EXPORTED
Definition: spudvb_decoder.c:1385
Definition: spuhdmv_decoder.c:140
uint16_t xpos
Definition: spuhdmv_decoder.c:121
uint8_t state
Definition: spuhdmv_decoder.c:136
void xine_usec_sleep(unsigned usec)
Definition: utils.c:546
static void * init_plugin(xine_t *xine, const void *data)
Definition: spuhdmv_decoder.c:1090
static void update_region(dvb_spu_decoder_t *this, int region_id, int region_width, int region_height, int fill, int fill_color)
Definition: spudvb_decoder.c:328
#define METHOD_EXPLICIT
Definition: demux.h:41
static int ogm_get_width(sputext_decoder_t *this, char *text)
Definition: sputext_decoder.c:431
@ SUBTITLE_SIZE_SMALL
Definition: sputext_decoder.c:104
#define OVERLAY_EVENT_HIDE
Definition: video_overlay.h:40
int y
Definition: spudvb_decoder.c:225
int page_state
Definition: spudvb_decoder.c:200
uint16_t xpos
Definition: spuhdmv_decoder.c:79
Definition: spuhdmv_decoder.c:77
#define FORMAT_SUBVIEWER2
Definition: sputext_demuxer.c:126
int height
Definition: sputext_decoder.c:161
#define DEMUX_CAP_NOCAP
Definition: demux.h:189
#define OVL_PALETTE_SIZE
Definition: video_out.h:280
long start
Definition: sputext_demuxer.c:68
static subtitle_t * sub_read_line_aqt(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:672
static const uint32_t supported_types[]
Definition: spudvb_decoder.c:1378
int64_t pts
Definition: buffer.h:345
int content_detection_method
Definition: xine_internal.h:168
uint16_t height
Definition: spuhdmv_decoder.c:105
double dy
Definition: sputext_decoder.c:139
uint8_t y
Definition: alphablend.h:47
#define DEMUX_OPTIONAL_SUCCESS
Definition: demux.h:237
spu_decoder_t spu_decoder
Definition: spudvb_decoder.c:245
static subtitle_t * sub_read_line_microdvd(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:276
#define SPU_PROJECTION_Y
Definition: sputext_decoder.c:64
#define LINE_LEN_QUOT
Definition: sputext_demuxer.c:58
uint8_t * raw_data
Definition: spuhdmv_decoder.c:89
#define METRONOM_SPU_OFFSET
Definition: metronom.h:175
subtitle_object_t * next
Definition: spuhdmv_decoder.c:93
#define LINE_LEN
Definition: sputext_demuxer.c:57
int hili_right
Definition: video_out.h:500
#define ERR
Definition: sputext_demuxer.c:54
static char * read_line_from_input(demux_sputext_t *this, char *line, off_t len)
Definition: sputext_demuxer.c:150
#define DEMUX_OPTIONAL_UNSUPPORTED
Definition: demux.h:236
NULL
Definition: xine_plugin.c:78
static void downscale_region_image(region_t *reg, unsigned char *dest, int dest_width)
Definition: spudvb_decoder.c:1004
static subtitle_clut_t * segbuf_decode_palette(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:341
#define SPU_MAX_HEIGHT
Definition: spudvb_decoder.c:46
uint8_t foo
Definition: alphablend.h:48
static void update_src_encoding(void *class_gen, xine_cfg_entry_t *entry)
Definition: sputext_decoder.c:1117
static void draw_subtitles(dvb_spu_decoder_t *this)
Definition: spudvb_decoder.c:1015
#define MAX_REGIONS
Definition: spudvb_decoder.c:43
static uint16_t segbuf_get_u16(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:327
int width
Definition: sputext_decoder.c:160
#define XINE_VERBOSITY_LOG
Definition: xine.h:425
struct video2wnd_s video2wnd_t
#define SPU_MAX_WIDTH
Definition: spudvb_decoder.c:45
#define _x_assert(exp)
Definition: xineutils.h:550
uint32_t sorted_entries
Definition: spudvb_decoder.c:55
unsigned char lut48[16]
Definition: spudvb_decoder.c:239
static char * get_font(sputext_class_t *class)
Definition: sputext_decoder.c:182
region_t regions[16]
Definition: spudvb_decoder.c:235
struct sputext_class_s sputext_class_t
uint32_t color[256]
Definition: spuhdmv_decoder.c:66
int started
Definition: sputext_decoder.c:164
static int sparse_array_get(sparse_array_t *sa, uint32_t key, uint32_t *value)
Definition: spudvb_decoder.c:149
int64_t last_subtitle_end
Definition: sputext_decoder.c:174
static void * init_spu_decoder_plugin(xine_t *xine, const void *data)
Definition: spudvb_decoder.c:1363
static void _x_freep(void *ptr)
Definition: xineutils.h:263
static void spudec_decode_data(spu_decoder_t *this_gen, buf_element_t *buf)
Definition: spuhdmv_decoder.c:999
struct rle_elem_s rle_elem_t
int64_t(* get_option)(metronom_t *self, int option)
Definition: metronom.h:154
dvbsub_func_t * dvbsub
Definition: spudvb_decoder.c:265
static composition_object_t * segbuf_decode_composition_object(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:610
double dx
Definition: sputext_decoder.c:138
static void spudec_decode_data(spu_decoder_t *this_gen, buf_element_t *buf)
Definition: spudvb_decoder.c:1087
uint32_t u32
Definition: spudvb_decoder.c:219
static void update_osd(dvb_spu_decoder_t *this, int region_id)
Definition: spudvb_decoder.c:300
@ SUBTITLE_SIZE_TINY
Definition: sputext_decoder.c:103
int shown
Definition: spuhdmv_decoder.c:95
#define GET_Y_ALIGNMENT(a)
Definition: sputext_decoder.c:56
Definition: xine_plugin.h:77
config_values_t * config
Definition: xine_internal.h:82
float mpsub_position
Definition: sputext_demuxer.c:87
rle_elem_t * rle
Definition: spuhdmv_decoder.c:83
static void segbuf_dispose(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:232
#define BUF_SPU_OGM
Definition: buffer.h:292
void * init_sputext_demux_class(xine_t *xine, const void *data)
Definition: sputext_demuxer.c:1496
static void decode_8bit_pixel_code_string(dvb_spu_decoder_t *this, int r, int object_id, int ofs, int n)
Definition: spudvb_decoder.c:572
static void update_vertical_offset(void *class_gen, xine_cfg_entry_t *entry)
Definition: sputext_decoder.c:1029
static void segbuf_parse_segment_header(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:251
segment_buffer_t * buf
Definition: spuhdmv_decoder.c:704
#define FORMAT_SUBRIP09
Definition: sputext_demuxer.c:127
unsigned int width
Definition: gfontrle.c:4
int64_t vpts
Definition: video_overlay.h:55
void _x_stream_info_set(xine_stream_t *s, int info, int value)
Definition: info_helper.c:79
#define SUB_BUFSIZE
Definition: sputext_demuxer.c:56
#define XINE_VERSION_CODE
Definition: xine_internal.h:57
static void sputext_demux_class_dispose(demux_class_t *this_gen)
Definition: sputext_demuxer.c:1487
xine_t * xine
Definition: sputext_demuxer.c:105
static void update_subtitle_size(void *class_gen, xine_cfg_entry_t *entry)
Definition: sputext_decoder.c:1067
#define BUF_SPECIAL_SPU_DVB_DESCRIPTOR
Definition: buffer.h:553
Definition: spudvb_decoder.c:50
static void sparse_array_delete(sparse_array_t *sa)
Definition: spudvb_decoder.c:66
Definition: spudvb_decoder.c:54
#define _(String)
Definition: vcdplayer.h:39
@ SEGTYPE_PRESENTATION_SEGMENT
Definition: spuhdmv_decoder.c:54
char * text[5]
Definition: sputext_demuxer.c:71
int current_osd_text
Definition: sputext_decoder.c:169
#define VO_CAP_UNSCALED_OVERLAY
Definition: video_out.h:311
Definition: sputext_demuxer.c:101
#define BUF_FLAG_SPECIAL
Definition: buffer.h:395
Definition: video_overlay.h:54
static void do_plot(dvb_spu_decoder_t *this, int r, int x, int y, unsigned char pixel)
Definition: spudvb_decoder.c:364
struct dvb_spu_decoder_s dvb_spu_decoder_t
int y
Definition: spudvb_decoder.c:193
const char * xine_guess_spu_encoding(void)
Definition: utils.c:694
size_t raw_data_len
Definition: spuhdmv_decoder.c:90
int status
Definition: sputext_demuxer.c:82
static void segbuf_fill(segment_buffer_t *buf, uint8_t *data, size_t len)
Definition: spuhdmv_decoder.c:272
rle_elem_t * rle
Definition: video_out.h:474
static void spudec_dispose_internal(dvb_spu_decoder_t *this, int thread_running)
Definition: spudvb_decoder.c:1237
static void spudec_dispose(spu_decoder_t *this_gen)
Definition: spudvb_decoder.c:1266
Definition: sputext_demuxer.c:64
input_plugin_t * input
Definition: sputext_demuxer.c:80
Definition: spuhdmv_decoder.c:208
Definition: spudvb_decoder.c:217
#define PLUGIN_DEMUX
Definition: xine_plugin.h:31
const uint32_t * supported_types
Definition: xine_plugin.h:78
int unscaled
Definition: video_out.h:505
presentation_segment_t * next
Definition: spuhdmv_decoder.c:149
int num_rle
Definition: video_out.h:476
uint16_t ypos
Definition: spuhdmv_decoder.c:79
static subtitle_t * sub_read_line_sami(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:185
int show
Definition: spudvb_decoder.c:266
static subtitle_t * sub_read_line_vplayer(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:412
sparse_array_entry_t * entries
Definition: spudvb_decoder.c:56
#define FORMAT_VPLAYER
Definition: sputext_demuxer.c:119
int cur
Definition: sputext_demuxer.c:93
uint32_t used_entries
Definition: spudvb_decoder.c:55
static int segbuf_segment_complete(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:285
int64_t pts
Definition: spuhdmv_decoder.c:151
int finished
Definition: sputext_decoder.c:165
Definition: spuhdmv_decoder.c:699
@ SEGTYPE_OBJECT
Definition: spuhdmv_decoder.c:53
video2wnd_t video2wnd
Definition: sputext_decoder.c:179
void(* dispose)(spu_decoder_t *this_gen)
Definition: spu_decoder.h:96
#define FORMAT_RT
Definition: sputext_demuxer.c:120
uint8_t segment_type
Definition: spuhdmv_decoder.c:211
static demux_plugin_t * open_demux_plugin(demux_class_t *class_gen, xine_stream_t *stream, input_plugin_t *input_gen)
Definition: sputext_demuxer.c:1404
int64_t(* get_current_time)(metronom_clock_t *self)
Definition: metronom.h:239
Definition: spu_decoder.h:42
Definition: spuhdmv_decoder.c:64
static int segbuf_decode_video_descriptor(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:587
void _x_get_current_info(xine_stream_t *s, extra_info_t *extra_info, int size)
Definition: xine.c:2806
const char * src_encoding
Definition: sputext_decoder.c:125
#define ALIGN_TOP
Definition: sputext_decoder.c:53
uint8_t palette_update_flag
Definition: spuhdmv_decoder.c:143
@ SUBTITLE_SIZE_VERY_LARGE
Definition: sputext_decoder.c:107
#define ALIGN_MIDDLE
Definition: sputext_decoder.c:54
static void spudec_reset(spu_decoder_t *this_gen)
Definition: sputext_decoder.c:1005
xine_t * xine
Definition: sputext_decoder.c:128
composition_object_t * next
Definition: spuhdmv_decoder.c:128
static void sputext_class_dispose(spu_decoder_class_t *class_gen)
Definition: sputext_decoder.c:1103
static void process_pixel_data_sub_block(dvb_spu_decoder_t *this, int r, int o, unsigned int pos, int ofs, int n)
Definition: spudvb_decoder.c:703
static presentation_segment_t * segbuf_decode_presentation_segment(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:647
int page_id
Definition: spudvb_decoder.c:201
#define FORMAT_PJS
Definition: sputext_demuxer.c:122
#define XINE_VERBOSITY_DEBUG
Definition: xine.h:426
static int decode_window_definition(spuhdmv_decoder_t *this)
Definition: spuhdmv_decoder.c:749
static const decoder_info_t spudec_info
Definition: sputext_decoder.c:1213
int width
Definition: video_out.h:479
static void * dvbsub_timer_func(void *this_gen)
Definition: spudvb_decoder.c:964
static uint8_t segbuf_segment_type(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:307
uint8_t * buf
Definition: spudvb_decoder.c:228
#define DEMUX_FINISHED
Definition: demux.h:34
#define FORMAT_SAMI
Definition: sputext_demuxer.c:118
Definition: spudvb_decoder.c:205
int compat_depth
Definition: spudvb_decoder.c:232
static subtitle_t * sub_read_line_subviewer2(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:903
int i_bits
Definition: spudvb_decoder.c:230
spu_decoder_class_t class
Definition: sputext_decoder.c:116
#define BUF_SPU_TEXT
Definition: buffer.h:287
uint16_t ypos
Definition: spuhdmv_decoder.c:104
static void plot(dvb_spu_decoder_t *this, int r, int run_length, unsigned char pixel)
Definition: spudvb_decoder.c:377
void _x_spu_get_opacity(xine_t *this, xine_spu_opacity_t *opacity)
Definition: spu.c:48
static void spudec_reset(spu_decoder_t *this_gen)
Definition: spuhdmv_decoder.c:1030
#define FORMAT_AQTITLE
Definition: sputext_demuxer.c:124
int height
Definition: spudvb_decoder.c:207
uint8_t error
Definition: spuhdmv_decoder.c:214
#define VO_CAP_CUSTOM_EXTENT_OVERLAY
Definition: video_out.h:329
int CLUT_id
Definition: spudvb_decoder.c:210
uint8_t forced_flag
Definition: spuhdmv_decoder.c:123
#define XINE_CONFIG_STRING_IS_FILENAME
Definition: xine.h:1624
int32_t(* add_event)(video_overlay_manager_t *this_gen, void *event)
Definition: video_out.h:527
int width
Definition: osd.h:41
static void decode_4bit_pixel_code_string(dvb_spu_decoder_t *this, int r, int object_id, int ofs, int n)
Definition: spudvb_decoder.c:498
static void sparse_array_unset(sparse_array_t *sa, uint32_t key, uint32_t mask)
Definition: spudvb_decoder.c:159
#define XINE_STREAM_INFO_HAS_AUDIO
Definition: xine.h:1024
uint8_t trans[256]
Definition: spuhdmv_decoder.c:67
Definition: video_out.h:518
static int default_colours_init
Definition: spudvb_decoder.c:271
unsigned int height
Definition: gfontrle.c:5
#define XINE_STATUS_PLAY
Definition: xine.h:950
int num_value
Definition: xine.h:1653
#define LOG_MODULE
Definition: spuhdmv_decoder.c:34
static int _sparse_array_find(sparse_array_t *sa, uint32_t key, uint32_t *pos)
Definition: spudvb_decoder.c:73
int hili_left
Definition: video_out.h:499
uint8_t trans[256]
Definition: video_out.h:493
Definition: spuhdmv_decoder.c:117
uint16_t number
Definition: spuhdmv_decoder.c:135
void * init_sputext_demux_class(xine_t *xine, const void *data)
Definition: sputext_demuxer.c:1496
const plugin_info_t xine_plugin_info[] EXPORTED
Definition: sputext_decoder.c:1218
@ SUBTITLE_SIZE_HUGE
Definition: sputext_decoder.c:108
int empty
Definition: spudvb_decoder.c:208
int width
Definition: spudvb_decoder.c:207
#define ALIGN_BOTTOM
Definition: sputext_decoder.c:52
presentation_segment_t * segments
Definition: spuhdmv_decoder.c:709
window_def_t * next
Definition: spuhdmv_decoder.c:107
struct demux_sputext_class_s demux_sputext_class_t
unsigned int num_rle
Definition: spuhdmv_decoder.c:84
xine_stream_t * stream
Definition: spudvb_decoder.c:247
static void sparse_array_new(sparse_array_t *sa)
Definition: spudvb_decoder.c:59
static void process_display_definition_segment(dvb_spu_decoder_t *this)
Definition: spudvb_decoder.c:939
uint16_t crop_height
Definition: spuhdmv_decoder.c:126
static void ogm_render_line(sputext_decoder_t *this, int x, int y, char *text)
Definition: sputext_decoder.c:435
static subtitle_t * sub_read_line_pjs(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:587
static void spudec_dispose(spu_decoder_t *this_gen)
Definition: sputext_decoder.c:1019
pthread_cond_t dvbsub_restart_timeout
Definition: spudvb_decoder.c:264
int64_t img_duration
Definition: sputext_decoder.c:173
uint8_t spu_trans[OVL_PALETTE_SIZE]
Definition: sputext_decoder.c:171
void * decoder_info_ptr[5]
Definition: buffer.h:355
int _x_spu_calculate_opacity(const clut_t *clut, uint8_t trans, const xine_spu_opacity_t *opacity)
Definition: spu.c:58
Definition: metronom.h:71
#define VO_PROP_WINDOW_WIDTH
Definition: video_out.h:261
#define SUB_MAX_TEXT
Definition: sputext_decoder.c:45
static size_t segbuf_data_length(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:312
static int segbuf_decode_rle(segment_buffer_t *buf, subtitle_object_t *obj)
Definition: spuhdmv_decoder.c:392
static subtitle_t * sub_read_line_ssa(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:517
char text[5][256]
Definition: sputext_decoder.c:150
uint16_t crop_vert_pos
Definition: spuhdmv_decoder.c:125
int xine_get_status(xine_stream_t *s)
Definition: xine.c:2817
spu_decoder_t spu_decoder
Definition: sputext_decoder.c:143
uint16_t ypos
Definition: spuhdmv_decoder.c:121
unsigned char * content
Definition: buffer.h:341
int x
Definition: video_out.h:477
int version_number
Definition: spudvb_decoder.c:206
subtitle_clut_t * next
Definition: spuhdmv_decoder.c:68
int unscaled
Definition: sputext_decoder.c:175
int64_t vpts
Definition: spudvb_decoder.c:259
void _x_demux_control_newpts(xine_stream_t *s, int64_t pts, uint32_t flags)
Definition: demux.c:126
int x
Definition: spudvb_decoder.c:193
static int ogm_render_line_internal(sputext_decoder_t *this, int x, int y, const char *text, int render)
Definition: sputext_decoder.c:333
#define PLUGIN_NONE
Definition: xine_plugin.h:29
Definition: sputext_decoder.c:115
static void demux_sputext_dispose(demux_plugin_t *this_gen)
Definition: sputext_demuxer.c:1301
size_t raw_data_size
Definition: spuhdmv_decoder.c:91
#define OSD_TEXT3
Definition: osd.h:283
sparse_array_t object_pos
Definition: spudvb_decoder.c:241
static spu_decoder_t * open_plugin(spu_decoder_class_t *class_gen, xine_stream_t *stream)
Definition: spuhdmv_decoder.c:1061
static spu_decoder_t * sputext_class_open_plugin(spu_decoder_class_t *class_gen, xine_stream_t *stream)
Definition: sputext_decoder.c:1081
long end
Definition: sputext_demuxer.c:69
int64_t end_vpts
Definition: spudvb_decoder.c:260
#define SUB_MAX_TEXT
Definition: sputext_demuxer.c:55
static void spudec_discontinuity(spu_decoder_t *this_gen)
Definition: sputext_decoder.c:1014
static spu_decoder_t * dvb_spu_class_open_plugin(spu_decoder_class_t *class_gen, xine_stream_t *stream)
Definition: spudvb_decoder.c:1272
static const decoder_info_t dec_info_data
Definition: spuhdmv_decoder.c:1107
static void free_objs(spuhdmv_decoder_t *this)
Definition: spuhdmv_decoder.c:717
uint32_t decoder_flags
Definition: buffer.h:350
int format
Definition: sputext_demuxer.c:94
pthread_mutex_t dvbsub_osd_mutex
Definition: spudvb_decoder.c:253
#define FORMAT_MPSUB
Definition: sputext_demuxer.c:123
static clut_t default_clut[256]
Definition: spudvb_decoder.c:269
pthread_t dvbsub_timer_thread
Definition: spudvb_decoder.c:262
#define ALIGN_RIGHT
Definition: sputext_decoder.c:51
static subtitle_t * sub_read_line_mpl2(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:971
static const uint32_t supported_types[]
Definition: sputext_decoder.c:1211
subtitle_clut_t * cluts
Definition: spuhdmv_decoder.c:706
static void update_output_size(sputext_decoder_t *this)
Definition: sputext_decoder.c:220
static window_def_t * segbuf_decode_window_definition(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:559
int shown
Definition: spuhdmv_decoder.c:70
int height
Definition: osd.h:41
spu_decoder_t *(* open_plugin)(spu_decoder_class_t *this_gen, xine_stream_t *stream)
Definition: spu_decoder.h:47
#define DEMUX_OPTIONAL_DATA_SPULANG
Definition: demux.h:240
demux_class_t demux_class
Definition: sputext_demuxer.c:103
uint16_t width
Definition: spuhdmv_decoder.c:105
unsigned char is_visible
Definition: spudvb_decoder.c:194
uint32_t spu_palette[OVL_PALETTE_SIZE]
Definition: sputext_decoder.c:170
uint32_t type
Definition: buffer.h:362
subtitle_size subtitle_size
Definition: sputext_decoder.c:118
Definition: spudvb_decoder.c:222
#define GET_X_ALIGNMENT(a)
Definition: sputext_decoder.c:55
#define VO_PROP_OUTPUT_XOFFSET
Definition: video_out.h:267
static int eol(char p)
Definition: sputext_demuxer.c:130
static subtitle_t * sub_read_line_jacobsub(demux_sputext_t *this, subtitle_t *current)
Definition: sputext_demuxer.c:705
#define ALIGN_CENTER
Definition: sputext_decoder.c:50
subtitle_object_t * objects
Definition: spuhdmv_decoder.c:707
int objects_end
Definition: spudvb_decoder.c:212
Definition: sputext_decoder.c:135
int y
Definition: video_out.h:478
#define GETBIT(s, v1, v2, tr)
int last_lines
Definition: sputext_decoder.c:178
@ SEGTYPE_END_OF_DISPLAY
Definition: spuhdmv_decoder.c:57
@ SEGTYPE_INTERACTIVE
Definition: spuhdmv_decoder.c:56
Definition: alphablend.h:44
off_t buflen
Definition: sputext_demuxer.c:85
#define MAX(a, b)
Definition: spuhdmv_decoder.c:48
static void spudec_discontinuity(spu_decoder_t *this_gen)
Definition: spuhdmv_decoder.c:1042
static int demux_sputext_get_stream_length(demux_plugin_t *this_gen)
Definition: sputext_demuxer.c:1319
uint16_t height
Definition: spuhdmv_decoder.c:80
static char * sub_readtext(char *source, char **dest)
Definition: sputext_demuxer.c:259
int depth
Definition: spudvb_decoder.c:209
static uint32_t segbuf_get_u24(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:332
static int input(void)
Definition: goomsl_lex.c:1495
unsigned char lut24[4]
Definition: spudvb_decoder.c:239
#define ALIGN_LEFT
Definition: sputext_decoder.c:49
static int show_overlay(spuhdmv_decoder_t *this, composition_object_t *cobj, unsigned int palette_id_ref, int overlay_index, int64_t pts, int force_update)
Definition: spuhdmv_decoder.c:783
static void free_presentation_segment(void *ptr)
Definition: spuhdmv_decoder.c:192
int segment_len
Definition: spuhdmv_decoder.c:210
uint32_t key
Definition: spudvb_decoder.c:51
unsigned char * img
Definition: spudvb_decoder.c:213
static unsigned char next_datum(dvb_spu_decoder_t *this, int width)
Definition: spudvb_decoder.c:403
static int decode_presentation_segment(spuhdmv_decoder_t *this)
Definition: spuhdmv_decoder.c:761
static void update_font_size(sputext_decoder_t *this, int force_update)
Definition: sputext_decoder.c:191
size_t data_size
Definition: spuhdmv_decoder.c:219
Definition: sputext_decoder.c:142
uint16_t width
Definition: spuhdmv_decoder.c:80
void _x_demux_flush_engine(xine_stream_t *s)
Definition: demux.c:61
static void update_osd_font(void *class_gen, xine_cfg_entry_t *entry)
Definition: sputext_decoder.c:1036
#define METHOD_BY_MRL
Definition: demux.h:40
static void process_CLUT_definition_segment(dvb_spu_decoder_t *this)
Definition: spudvb_decoder.c:650
spu_dvb_descriptor_t * spu_descriptor
Definition: spudvb_decoder.c:249
static void trail_space(char *s)
Definition: sputext_demuxer.c:134
#define FORMAT_UNKNOWN
Definition: sputext_demuxer.c:114
#define _X_SET_CLUT_CM(clut, color_matrix)
Definition: video_overlay.h:68
static void update_overlays(spuhdmv_decoder_t *this)
Definition: spuhdmv_decoder.c:905
static void spudec_dispose(spu_decoder_t *this_gen)
Definition: spuhdmv_decoder.c:1049
int _x_spu_decoder_sleep(xine_stream_t *s, int64_t next_spu_vpts)
Definition: video_decoder.c:70
unsigned int rle_size
Definition: gfontrle.c:7
int in_scanline
Definition: spudvb_decoder.c:231
static void config_timeout_cb(void *this_gen, xine_cfg_entry_t *entry)
Definition: sputext_demuxer.c:1481
Definition: xine_plugin.h:55
static int demux_sputext_next(demux_sputext_t *this_gen)
Definition: sputext_demuxer.c:1260
#define SUB_BUFSIZE
Definition: sputext_decoder.c:46
static void spudec_reset(spu_decoder_t *this_gen)
Definition: spudvb_decoder.c:1213
#define xprintf(xine, verbose,...)
Definition: xineutils.h:664
composition_descriptor_t comp_descr
Definition: spuhdmv_decoder.c:141
char * pes_pkt
Definition: spudvb_decoder.c:255
char font[FILENAME_MAX]
Definition: sputext_decoder.c:157
int data_size
Definition: video_out.h:475
static void process_object_data_segment(dvb_spu_decoder_t *this)
Definition: spudvb_decoder.c:885
#define N_(String)
Definition: xineintl.h:47
xine_stream_t * stream
Definition: spuhdmv_decoder.c:702
uint32_t max_entries
Definition: spudvb_decoder.c:55
static const uint32_t supported_types[]
Definition: spuhdmv_decoder.c:1105
Definition: video_out.h:458
static segment_buffer_t * segbuf_init(void)
Definition: spuhdmv_decoder.c:226
int shown
Definition: spuhdmv_decoder.c:109
#define LIST_REPLACE(list, obj, FREE_FUNC)
Definition: spuhdmv_decoder.c:159
uint8_t window_id_ref
Definition: spuhdmv_decoder.c:118
#define BUF_FLAG_PREVIEW
Definition: buffer.h:380
int height
Definition: video_out.h:480
uint8_t cr
Definition: alphablend.h:46
int page_version_number
Definition: spudvb_decoder.c:199
static uint8_t segbuf_get_u8(segment_buffer_t *buf)
Definition: spuhdmv_decoder.c:319
#define OVERLAY_EVENT_SHOW
Definition: video_overlay.h:39
int(* register_bool)(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:154
static void decode_segment(spuhdmv_decoder_t *this)
Definition: spuhdmv_decoder.c:940