libavcodec/dvbsubdec.c File Reference

#include "avcodec.h"
#include "dsputil.h"
#include "bitstream.h"
#include "colorspace.h"

Go to the source code of this file.

Data Structures

struct  DVBSubCLUT
struct  DVBSubObjectDisplay
struct  DVBSubObject
struct  DVBSubRegionDisplay
struct  DVBSubRegion
struct  DVBSubContext

Defines

#define DVBSUB_PAGE_SEGMENT   0x10
#define DVBSUB_REGION_SEGMENT   0x11
#define DVBSUB_CLUT_SEGMENT   0x12
#define DVBSUB_OBJECT_SEGMENT   0x13
#define DVBSUB_DISPLAY_SEGMENT   0x80
#define cm   (ff_cropTbl + MAX_NEG_CROP)
#define RGBA(r, g, b, a)   (((a) << 24) | ((r) << 16) | ((g) << 8) | (b))

Functions

static DVBSubObjectget_object (DVBSubContext *ctx, int object_id)
static DVBSubCLUTget_clut (DVBSubContext *ctx, int clut_id)
static DVBSubRegionget_region (DVBSubContext *ctx, int region_id)
static void delete_region_display_list (DVBSubContext *ctx, DVBSubRegion *region)
static void delete_state (DVBSubContext *ctx)
static av_cold int dvbsub_init_decoder (AVCodecContext *avctx)
static av_cold int dvbsub_close_decoder (AVCodecContext *avctx)
static int dvbsub_read_2bit_string (uint8_t *destbuf, int dbuf_len, const uint8_t **srcbuf, int buf_size, int non_mod, uint8_t *map_table)
static int dvbsub_read_4bit_string (uint8_t *destbuf, int dbuf_len, const uint8_t **srcbuf, int buf_size, int non_mod, uint8_t *map_table)
static int dvbsub_read_8bit_string (uint8_t *destbuf, int dbuf_len, const uint8_t **srcbuf, int buf_size, int non_mod, uint8_t *map_table)
static void dvbsub_parse_pixel_data_block (AVCodecContext *avctx, DVBSubObjectDisplay *display, const uint8_t *buf, int buf_size, int top_bottom, int non_mod)
static void dvbsub_parse_object_segment (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
static void dvbsub_parse_clut_segment (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
static void dvbsub_parse_region_segment (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
static void dvbsub_parse_page_segment (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
static int dvbsub_display_end_segment (AVCodecContext *avctx, const uint8_t *buf, int buf_size, AVSubtitle *sub)
static int dvbsub_decode (AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)

Variables

static DVBSubCLUT default_clut
AVCodec dvbsub_decoder


Define Documentation

#define cm   (ff_cropTbl + MAX_NEG_CROP)

#define DVBSUB_CLUT_SEGMENT   0x12

Definition at line 32 of file dvbsubdec.c.

Referenced by dvbsub_decode().

#define DVBSUB_DISPLAY_SEGMENT   0x80

Definition at line 34 of file dvbsubdec.c.

Referenced by dvbsub_decode().

#define DVBSUB_OBJECT_SEGMENT   0x13

Definition at line 33 of file dvbsubdec.c.

Referenced by dvbsub_decode().

#define DVBSUB_PAGE_SEGMENT   0x10

Definition at line 30 of file dvbsubdec.c.

Referenced by dvbsub_decode().

#define DVBSUB_REGION_SEGMENT   0x11

Definition at line 31 of file dvbsubdec.c.

Referenced by dvbsub_decode().

#define RGBA ( r,
g,
b,
 )     (((a) << 24) | ((r) << 16) | ((g) << 8) | (b))

Definition at line 154 of file dvbsubdec.c.

Referenced by dvbsub_init_decoder(), and dvbsub_parse_clut_segment().


Function Documentation

static void delete_region_display_list ( DVBSubContext ctx,
DVBSubRegion region 
) [static]

Definition at line 266 of file dvbsubdec.c.

Referenced by delete_state(), and dvbsub_parse_region_segment().

static void delete_state ( DVBSubContext ctx  )  [static]

Definition at line 312 of file dvbsubdec.c.

Referenced by dvbsub_close_decoder(), and dvbsub_parse_page_segment().

static av_cold int dvbsub_close_decoder ( AVCodecContext avctx  )  [static]

Definition at line 415 of file dvbsubdec.c.

static int dvbsub_decode ( AVCodecContext avctx,
void *  data,
int *  data_size,
const uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 1346 of file dvbsubdec.c.

static int dvbsub_display_end_segment ( AVCodecContext avctx,
const uint8_t *  buf,
int  buf_size,
AVSubtitle sub 
) [static]

Definition at line 1269 of file dvbsubdec.c.

Referenced by dvbsub_decode().

static av_cold int dvbsub_init_decoder ( AVCodecContext avctx  )  [static]

Definition at line 342 of file dvbsubdec.c.

static void dvbsub_parse_clut_segment ( AVCodecContext avctx,
const uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 895 of file dvbsubdec.c.

Referenced by dvbsub_decode().

static void dvbsub_parse_object_segment ( AVCodecContext avctx,
const uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 836 of file dvbsubdec.c.

Referenced by dvbsub_decode().

static void dvbsub_parse_page_segment ( AVCodecContext avctx,
const uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 1101 of file dvbsubdec.c.

Referenced by dvbsub_decode().

static void dvbsub_parse_pixel_data_block ( AVCodecContext avctx,
DVBSubObjectDisplay display,
const uint8_t *  buf,
int  buf_size,
int  top_bottom,
int  non_mod 
) [static]

Definition at line 717 of file dvbsubdec.c.

Referenced by dvbsub_parse_object_segment().

static void dvbsub_parse_region_segment ( AVCodecContext avctx,
const uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 985 of file dvbsubdec.c.

Referenced by dvbsub_decode().

static int dvbsub_read_2bit_string ( uint8_t *  destbuf,
int  dbuf_len,
const uint8_t **  srcbuf,
int  buf_size,
int  non_mod,
uint8_t *  map_table 
) [static]

Definition at line 432 of file dvbsubdec.c.

Referenced by dvbsub_parse_pixel_data_block().

static int dvbsub_read_4bit_string ( uint8_t *  destbuf,
int  dbuf_len,
const uint8_t **  srcbuf,
int  buf_size,
int  non_mod,
uint8_t *  map_table 
) [static]

Definition at line 537 of file dvbsubdec.c.

Referenced by dvbsub_parse_pixel_data_block().

static int dvbsub_read_8bit_string ( uint8_t *  destbuf,
int  dbuf_len,
const uint8_t **  srcbuf,
int  buf_size,
int  non_mod,
uint8_t *  map_table 
) [static]

Definition at line 658 of file dvbsubdec.c.

Referenced by dvbsub_parse_pixel_data_block().

static DVBSubCLUT* get_clut ( DVBSubContext ctx,
int  clut_id 
) [static]

Definition at line 244 of file dvbsubdec.c.

Referenced by dvbsub_display_end_segment(), and dvbsub_parse_clut_segment().

static DVBSubObject* get_object ( DVBSubContext ctx,
int  object_id 
) [static]

static DVBSubRegion* get_region ( DVBSubContext ctx,
int  region_id 
) [static]


Variable Documentation

Definition at line 166 of file dvbsubdec.c.

Initial value:

Definition at line 1427 of file dvbsubdec.c.


Generated on Fri Oct 26 02:35:43 2012 for FFmpeg by  doxygen 1.5.8