xine-lib 1.2.13-20230125hg15249
Macros | Functions | Variables
spudec.c File Reference
#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
 

Macro Definition Documentation

◆ CMD_SPU_EOF

#define CMD_SPU_EOF   0xff

Referenced by spudec_do_commands().

◆ CMD_SPU_FORCE_DISPLAY

#define CMD_SPU_FORCE_DISPLAY   0x00

Referenced by spudec_do_commands().

◆ CMD_SPU_HIDE

#define CMD_SPU_HIDE   0x02

Referenced by spudec_do_commands().

◆ CMD_SPU_SET_ALPHA

#define CMD_SPU_SET_ALPHA   0x04

Referenced by spudec_do_commands().

◆ CMD_SPU_SET_PALETTE

#define CMD_SPU_SET_PALETTE   0x03

Referenced by spudec_do_commands().

◆ CMD_SPU_SET_PXD_OFFSET

#define CMD_SPU_SET_PXD_OFFSET   0x06

Referenced by spudec_do_commands().

◆ CMD_SPU_SET_SIZE

#define CMD_SPU_SET_SIZE   0x05

Referenced by spudec_do_commands().

◆ CMD_SPU_SHOW

#define CMD_SPU_SHOW   0x01

Referenced by spudec_do_commands().

◆ CMD_SPU_WIPE

#define CMD_SPU_WIPE   0x07 /* Not currently implemented */

Referenced by spudec_do_commands().

◆ MINFOUND

#define MINFOUND   20

Referenced by spudec_discover_clut().

Function Documentation

◆ get_bits()

static unsigned int get_bits ( unsigned int bits)
static

◆ spudec_clear_nav_list()

void spudec_clear_nav_list ( spudec_decoder_t * this)

◆ spudec_copy_nav_to_overlay()

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 )

◆ spudec_decode_nav()

void spudec_decode_nav ( spudec_decoder_t * this,
buf_element_t * buf )

◆ spudec_discover_clut()

static void spudec_discover_clut ( xine_t * xine,
spudec_state_t * state,
vo_overlay_t * ovl )
static

◆ spudec_do_commands()

static void spudec_do_commands ( xine_t * xine,
spudec_state_t * state,
spudec_seq_t * seq,
vo_overlay_t * ovl )
static

◆ spudec_draw_picture()

static void spudec_draw_picture ( xine_t * xine,
spudec_state_t * state,
spudec_seq_t * seq,
vo_overlay_t * ovl )
static

◆ spudec_next_line()

static int spudec_next_line ( vo_overlay_t * spu)
static

◆ spudec_process()

void spudec_process ( spudec_decoder_t * this,
int stream_id )

◆ spudec_process_nav()

void spudec_process_nav ( spudec_decoder_t * this)

◆ spudec_reassembly()

void spudec_reassembly ( xine_t * xine,
spudec_seq_t * seq,
uint8_t * pkt_data,
unsigned int pkt_len )

◆ spudec_update_nav()

void spudec_update_nav ( spudec_decoder_t * this)

Variable Documentation

◆ bit_ptr

uint8_t* bit_ptr[2]
static

Referenced by get_bits(), and spudec_draw_picture().

◆ field

int field
static

◆ put_x

int put_x
static

◆ put_y

int put_y
static