xine-lib 1.2.11
|
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <pthread.h>
#include <string.h>
#include <inttypes.h>
#include <sys/types.h>
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/buffer.h>
#include "xine-engine/bswap.h"
#include "nav_read.h"
#include "nav_print.h"
#include "spudec.h"
Macros | |
#define | CMD_SPU_FORCE_DISPLAY 0x00 |
#define | CMD_SPU_SHOW 0x01 |
#define | CMD_SPU_HIDE 0x02 |
#define | CMD_SPU_SET_PALETTE 0x03 |
#define | CMD_SPU_SET_ALPHA 0x04 |
#define | CMD_SPU_SET_SIZE 0x05 |
#define | CMD_SPU_SET_PXD_OFFSET 0x06 |
#define | CMD_SPU_WIPE 0x07 /* Not currently implemented */ |
#define | CMD_SPU_EOF 0xff |
#define | MINFOUND 20 |
Functions | |
static void | spudec_do_commands (xine_t *xine, spudec_state_t *state, spudec_seq_t *seq, vo_overlay_t *ovl) |
static void | spudec_draw_picture (xine_t *xine, spudec_state_t *state, spudec_seq_t *seq, vo_overlay_t *ovl) |
static void | spudec_discover_clut (xine_t *xine, spudec_state_t *state, vo_overlay_t *ovl) |
void | spudec_decode_nav (spudec_decoder_t *this, buf_element_t *buf) |
void | spudec_clear_nav_list (spudec_decoder_t *this) |
void | spudec_update_nav (spudec_decoder_t *this) |
void | spudec_process_nav (spudec_decoder_t *this) |
void | spudec_reassembly (xine_t *xine, spudec_seq_t *seq, uint8_t *pkt_data, unsigned int pkt_len) |
void | spudec_process (spudec_decoder_t *this, int stream_id) |
static unsigned int | get_bits (unsigned int bits) |
static int | spudec_next_line (vo_overlay_t *spu) |
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) |
Variables | |
static uint8_t * | bit_ptr [2] |
static int | field |
static int | put_x |
static int | put_y |
#define CMD_SPU_EOF 0xff |
#define CMD_SPU_FORCE_DISPLAY 0x00 |
#define CMD_SPU_HIDE 0x02 |
#define CMD_SPU_SET_ALPHA 0x04 |
#define CMD_SPU_SET_PALETTE 0x03 |
#define CMD_SPU_SET_PXD_OFFSET 0x06 |
#define CMD_SPU_SET_SIZE 0x05 |
#define CMD_SPU_SHOW 0x01 |
#define CMD_SPU_WIPE 0x07 /* Not currently implemented */ |
#define MINFOUND 20 |
|
static |
References bit_ptr, bits, and field.
Referenced by spudec_draw_picture(), spudec_next_line(), and video_object_plane().
void spudec_clear_nav_list | ( | spudec_decoder_t * | this | ) |
References pci_node_s::next, and pci_node_s::pci.
Referenced by spudec_decode_nav(), spudec_discontinuity(), spudec_dispose(), and spudec_reset().
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 | ||
) |
References vo_overlay_s::color, vo_overlay_s::hili_bottom, vo_overlay_s::hili_color, vo_overlay_s::hili_left, vo_overlay_s::hili_right, vo_overlay_s::hili_top, vo_overlay_s::hili_trans, mode(), NULL, vo_overlay_s::trans, vo_overlay_s::x, XINE_VERBOSITY_DEBUG, xprintf, and vo_overlay_s::y.
Referenced by spudec_process(), and spudec_set_button().
void spudec_decode_nav | ( | spudec_decoder_t * | this, |
buf_element_t * | buf | ||
) |
References video_overlay_manager_s::add_event, buf_element_s::content, video_overlay_manager_s::get_handle, pci_node_s::next, NULL, xine_ui_data_t::num_buttons, OVERLAY_EVENT_HIDE, pci_node_s::pci, buf_element_s::pts, spudec_clear_nav_list(), spudec_process_nav(), spudec_update_nav(), pci_node_s::vpts, xine_event_send(), XINE_EVENT_UI_NUM_BUTTONS, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by spudec_decode_data().
|
static |
References spudec_state_t::clut, CLUT_Y_CR_CB_INIT, rle_elem_s::color, vo_overlay_s::color, spudec_state_t::cur_colors, MINFOUND, spudec_state_t::need_clut, vo_overlay_s::num_rle, and vo_overlay_s::rle.
Referenced by spudec_process().
|
static |
References spudec_seq_t::broken, spudec_seq_t::buf, spudec_state_t::clut, spudec_state_t::cmd_ptr, CMD_SPU_EOF, CMD_SPU_FORCE_DISPLAY, CMD_SPU_HIDE, CMD_SPU_SET_ALPHA, CMD_SPU_SET_PALETTE, CMD_SPU_SET_PXD_OFFSET, CMD_SPU_SET_SIZE, CMD_SPU_SHOW, CMD_SPU_WIPE, vo_overlay_s::color, spudec_state_t::cur_colors, spudec_state_t::delay, spudec_clut_struct::entry0, spudec_clut_struct::entry1, spudec_clut_struct::entry2, spudec_clut_struct::entry3, spudec_state_t::field_offs, spudec_seq_t::finished, spudec_state_t::forced_display, vo_overlay_s::height, vo_overlay_s::hili_bottom, vo_overlay_s::hili_left, vo_overlay_s::hili_right, vo_overlay_s::hili_top, spudec_state_t::modified, OVERLAY_EVENT_HIDE, OVERLAY_EVENT_SHOW, spudec_seq_t::seq_len, vo_overlay_s::trans, spudec_state_t::visible, vo_overlay_s::width, vo_overlay_s::x, XINE_VERBOSITY_DEBUG, xprintf, and vo_overlay_s::y.
Referenced by spudec_process().
|
static |
References bit_ptr, spudec_seq_t::buf, spudec_seq_t::cmd_offs, rle_elem_s::color, vo_overlay_s::data_size, field, spudec_state_t::field_offs, get_bits(), rle_elem_s::len, spudec_state_t::modified, vo_overlay_s::num_rle, put_x, put_y, vo_overlay_s::rgb_clut, vo_overlay_s::rle, spudec_next_line(), vo_overlay_s::unscaled, vo_overlay_s::width, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by spudec_process().
|
static |
References field, get_bits(), vo_overlay_s::height, put_x, and put_y.
Referenced by spudec_draw_picture().
void spudec_process | ( | spudec_decoder_t * | this, |
int | stream_id | ||
) |
References video_overlay_manager_s::add_event, spudec_seq_t::broken, spudec_seq_t::buf, spudec_seq_t::cmd_offs, spudec_seq_t::finished, video_overlay_manager_s::get_handle, height, pci_node_s::next, NULL, OVERLAY_EVENT_HIDE, OVERLAY_EVENT_SHOW, pci_node_s::pci, spudec_copy_nav_to_overlay(), spudec_discover_clut(), spudec_do_commands(), spudec_draw_picture(), width, XINE_EVENT_INPUT_BUTTON_FORCE, xine_event_send(), xine_fast_memcpy, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by spudec_decode_data().
void spudec_process_nav | ( | spudec_decoder_t * | this | ) |
References xine_ui_data_t::num_buttons, xine_event_send(), and XINE_EVENT_UI_NUM_BUTTONS.
Referenced by spudec_decode_nav(), and spudec_update_nav().
void spudec_reassembly | ( | xine_t * | xine, |
spudec_seq_t * | seq, | ||
uint8_t * | pkt_data, | ||
unsigned int | pkt_len | ||
) |
void spudec_update_nav | ( | spudec_decoder_t * | this | ) |
References metronom_clock_s::get_current_time, pci_node_s::next, and spudec_process_nav().
Referenced by spudec_decode_data(), spudec_decode_nav(), spudec_get_interact_info(), and spudec_set_button().
|
static |
Referenced by get_bits(), and spudec_draw_picture().
|
static |
Referenced by calc_response(), calc_response_string(), convert_overlay(), decode_picture(), extract_channel_from_string_internal(), get_bits(), gsl_add_struct_field(), gsl_new_struct(), gsl_new_struct_field(), gsl_new_struct_field_struct(), hash(), meta_info_assign(), motion_fr_field(), spudec_draw_picture(), and spudec_next_line().
|
static |
Referenced by spudec_draw_picture(), and spudec_next_line().
|
static |
Referenced by spudec_draw_picture(), and spudec_next_line().