Libav
Data Structures | Macros | Functions | Variables
dvdsubdec.c File Reference
#include "avcodec.h"
#include "get_bits.h"
#include "dsputil.h"
#include "internal.h"
#include "libavutil/attributes.h"
#include "libavutil/colorspace.h"
#include "libavutil/imgutils.h"
#include "libavutil/avstring.h"

Go to the source code of this file.

Data Structures

struct  DVDSubContext
 

Macros

#define READ_OFFSET(a)   (big_offsets ? AV_RB32(a) : AV_RB16(a))
 

Functions

static void yuv_a_to_rgba (const uint8_t *ycbcr, const uint8_t *alpha, uint32_t *rgba, int num_values)
 
static int decode_run_2bit (GetBitContext *gb, int *color)
 
static int decode_run_8bit (GetBitContext *gb, int *color)
 
static int decode_rle (uint8_t *bitmap, int linesize, int w, int h, const uint8_t *buf, int start, int buf_size, int is_8bit)
 
static void guess_palette (DVDSubContext *ctx, uint32_t *rgba_palette, uint8_t *colormap, uint8_t *alpha, uint32_t subtitle_color)
 
static int decode_dvd_subtitles (DVDSubContext *ctx, AVSubtitle *sub_header, const uint8_t *buf, int buf_size)
 
static int is_transp (const uint8_t *buf, int pitch, int n, const uint8_t *transp_color)
 
static int find_smallest_bounding_rectangle (AVSubtitle *s)
 
static int dvdsub_decode (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
 
static av_cold int dvdsub_init (AVCodecContext *avctx)
 

Variables

AVCodec ff_dvdsub_decoder
 

Macro Definition Documentation

#define READ_OFFSET (   a)    (big_offsets ? AV_RB32(a) : AV_RB16(a))

Definition at line 176 of file dvdsubdec.c.

Referenced by decode_dvd_subtitles().

Function Documentation

static void yuv_a_to_rgba ( const uint8_t ycbcr,
const uint8_t alpha,
uint32_t *  rgba,
int  num_values 
)
static

Definition at line 36 of file dvdsubdec.c.

Referenced by decode_dvd_subtitles().

static int decode_run_2bit ( GetBitContext gb,
int *  color 
)
static

Definition at line 53 of file dvdsubdec.c.

Referenced by decode_rle().

static int decode_run_8bit ( GetBitContext gb,
int *  color 
)
static

Definition at line 67 of file dvdsubdec.c.

Referenced by decode_rle().

static int decode_rle ( uint8_t bitmap,
int  linesize,
int  w,
int  h,
const uint8_t buf,
int  start,
int  buf_size,
int  is_8bit 
)
static

Definition at line 89 of file dvdsubdec.c.

Referenced by decode_dvd_subtitles().

static void guess_palette ( DVDSubContext ctx,
uint32_t *  rgba_palette,
uint8_t colormap,
uint8_t alpha,
uint32_t  subtitle_color 
)
static

Definition at line 126 of file dvdsubdec.c.

Referenced by decode_dvd_subtitles().

static int decode_dvd_subtitles ( DVDSubContext ctx,
AVSubtitle sub_header,
const uint8_t buf,
int  buf_size 
)
static

Definition at line 178 of file dvdsubdec.c.

Referenced by dvdsub_decode().

static int is_transp ( const uint8_t buf,
int  pitch,
int  n,
const uint8_t transp_color 
)
static

Definition at line 375 of file dvdsubdec.c.

Referenced by find_smallest_bounding_rectangle().

static int find_smallest_bounding_rectangle ( AVSubtitle s)
static

Definition at line 388 of file dvdsubdec.c.

Referenced by dvdsub_decode().

static int dvdsub_decode ( AVCodecContext avctx,
void data,
int *  data_size,
AVPacket avpkt 
)
static

Definition at line 469 of file dvdsubdec.c.

static av_cold int dvdsub_init ( AVCodecContext avctx)
static

Definition at line 502 of file dvdsubdec.c.

Variable Documentation

AVCodec ff_dvdsub_decoder
Initial value:
= {
.name = "dvdsub",
.long_name = NULL_IF_CONFIG_SMALL("DVD subtitles"),
.priv_data_size = sizeof(DVDSubContext),
}
static int decode(MimicContext *ctx, int quality, int num_coeffs, int is_iframe)
Definition: mimic.c:269
static av_cold int dvdsub_init(AVCodecContext *avctx)
Definition: dvdsubdec.c:502
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:142
static av_cold int init(AVCodecParserContext *s)
Definition: h264_parser.c:498
static int dvdsub_decode(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
Definition: dvdsubdec.c:469

Definition at line 542 of file dvdsubdec.c.