graphics_processor.c File Reference

Go to the source code of this file.

Classes

struct  graphics_processor_s

Enumerations

enum  pgs_segment_type_e {
  PGS_PALETTE = 0x14, PGS_OBJECT = 0x15, PGS_PG_COMPOSITION = 0x16, PGS_WINDOW = 0x17,
  PGS_IG_COMPOSITION = 0x18, PGS_END_OF_DISPLAY = 0x80
}

Functions

void pg_display_set_free (PG_DISPLAY_SET **s)
static PES_BUFFER_find_segment_by_idv (PES_BUFFER *p, uint8_t seg_type, unsigned idv_pos, uint8_t *idv, unsigned idv_len)
static void _join_fragments (PES_BUFFER *p1, PES_BUFFER *p2, int data_pos)
static int _join_segment_fragments (struct pes_buffer_s *p)
static int _decode_wds (PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
static int _decode_ods (PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
static int _decode_pds (PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
static void _check_epoch_start (PG_DISPLAY_SET *s)
static int _decode_pcs (PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
static int _decode_ics (PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
static int _decode_segment (PG_DISPLAY_SET *s, PES_BUFFER *p)
int graphics_processor_decode_pes (PG_DISPLAY_SET **s, PES_BUFFER **p, int64_t stc)
 Decode data from MPEG-PES input stream.
GRAPHICS_PROCESSORgraphics_processor_init (void)
void graphics_processor_free (GRAPHICS_PROCESSOR **p)
int graphics_processor_decode_ts (GRAPHICS_PROCESSOR *p, PG_DISPLAY_SET **s, uint16_t pid, uint8_t *unit, unsigned num_units, int64_t stc)
 Decode data from MPEG-TS input stream.

Enumeration Type Documentation

Enumerator:
PGS_PALETTE 
PGS_OBJECT 
PGS_PG_COMPOSITION 
PGS_WINDOW 
PGS_IG_COMPOSITION 
PGS_END_OF_DISPLAY 

Definition at line 42 of file graphics_processor.c.


Function Documentation

void pg_display_set_free ( PG_DISPLAY_SET **  s  ) 

Definition at line 55 of file graphics_processor.c.

Referenced by _gc_reset().

static PES_BUFFER* _find_segment_by_idv ( PES_BUFFER p,
uint8_t  seg_type,
unsigned  idv_pos,
uint8_t idv,
unsigned  idv_len 
) [static]

Definition at line 76 of file graphics_processor.c.

Referenced by _join_segment_fragments().

static void _join_fragments ( PES_BUFFER p1,
PES_BUFFER p2,
int  data_pos 
) [static]

Definition at line 86 of file graphics_processor.c.

Referenced by _join_segment_fragments().

static int _join_segment_fragments ( struct pes_buffer_s p  )  [static]

Definition at line 101 of file graphics_processor.c.

Referenced by graphics_processor_decode_pes().

static int _decode_wds ( PG_DISPLAY_SET s,
BITBUFFER bb,
PES_BUFFER p 
) [static]

Definition at line 167 of file graphics_processor.c.

Referenced by _decode_segment().

static int _decode_ods ( PG_DISPLAY_SET s,
BITBUFFER bb,
PES_BUFFER p 
) [static]

Definition at line 177 of file graphics_processor.c.

Referenced by _decode_segment().

static int _decode_pds ( PG_DISPLAY_SET s,
BITBUFFER bb,
PES_BUFFER p 
) [static]

Definition at line 211 of file graphics_processor.c.

Referenced by _decode_segment().

static void _check_epoch_start ( PG_DISPLAY_SET s  )  [static]

Definition at line 253 of file graphics_processor.c.

Referenced by _decode_ics(), and _decode_pcs().

static int _decode_pcs ( PG_DISPLAY_SET s,
BITBUFFER bb,
PES_BUFFER p 
) [static]

Definition at line 275 of file graphics_processor.c.

Referenced by _decode_segment().

static int _decode_ics ( PG_DISPLAY_SET s,
BITBUFFER bb,
PES_BUFFER p 
) [static]

Definition at line 293 of file graphics_processor.c.

Referenced by _decode_segment().

static int _decode_segment ( PG_DISPLAY_SET s,
PES_BUFFER p 
) [static]

Definition at line 311 of file graphics_processor.c.

Referenced by graphics_processor_decode_pes().

int graphics_processor_decode_pes ( PG_DISPLAY_SET **  s,
struct pes_buffer_s **  buf,
int64_t  stc 
)

Decode data from MPEG-PES input stream.

Only segments where DTS <= STC are decoded. If STC < 0, all segments are immediately decoded to display set.

All decoded PES packets are removed from buffer.

Parameters:
s display set
buf data to decode
stc current playback time
Returns:
1 if display set was completed, 0 otherwise

Definition at line 351 of file graphics_processor.c.

Referenced by graphics_processor_decode_ts().

GRAPHICS_PROCESSOR* graphics_processor_init ( void   ) 

Definition at line 412 of file graphics_processor.c.

Referenced by gc_decode_ts().

void graphics_processor_free ( GRAPHICS_PROCESSOR **  p  ) 

Definition at line 419 of file graphics_processor.c.

Referenced by _gc_reset().

int graphics_processor_decode_ts ( GRAPHICS_PROCESSOR p,
PG_DISPLAY_SET **  s,
uint16_t  pid,
uint8_t unit,
unsigned  num_units,
int64_t  stc 
)

Decode data from MPEG-TS input stream.

Segments are queued and decoded when DTS <= STC. If STC < 0, all segments are immediately decoded to display set.

Parameters:
p GRAPHICS_PROCESSOR object
s display set
pid mpeg-ts PID to decode (HDMV IG/PG stream)
unit mpeg-ts data
num_units number of aligned units in data
stc current playback time
Returns:
1 if display set was completed, 0 otherwise

Definition at line 429 of file graphics_processor.c.

Referenced by gc_decode_ts().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Mon May 28 06:41:47 2012 for MythTV by  doxygen 1.6.3