libavcodec/microdvddec.c File Reference

MicroDVD subtitle decoder. More...

#include "libavutil/avstring.h"
#include "libavutil/parseutils.h"
#include "libavutil/bprint.h"
#include "avcodec.h"
#include "ass.h"
Include dependency graph for libavcodec/microdvddec.c:

Go to the source code of this file.

Data Structures

struct  microdvd_tag
 

Macros

#define MICRODVD_PERSISTENT_OFF   0
 
#define MICRODVD_PERSISTENT_ON   1
 
#define MICRODVD_PERSISTENT_OPENED   2
 
#define MICRODVD_TAGS   "cfshyYpo"
 
#define MICRODVD_STYLES   "ibus"
 

Functions

static int indexof (const char *s, int c)
 
static void microdvd_set_tag (struct microdvd_tag *tags, struct microdvd_tag tag)
 
static char * microdvd_load_tags (struct microdvd_tag *tags, char *s)
 
static void microdvd_open_tags (AVBPrint *new_line, struct microdvd_tag *tags)
 
static void microdvd_close_no_persistent_tags (AVBPrint *new_line, struct microdvd_tag *tags)
 
static int microdvd_decode_frame (AVCodecContext *avctx, void *data, int *got_sub_ptr, AVPacket *avpkt)
 
static int microdvd_init (AVCodecContext *avctx)
 

Variables

AVCodec ff_microdvd_decoder
 

Detailed Description

MicroDVD subtitle decoder.

Based on the specifications found here: https://trac.videolan.org/vlc/ticket/1825#comment:6

Definition in file libavcodec/microdvddec.c.

Macro Definition Documentation

#define MICRODVD_PERSISTENT_OFF   0

Definition at line 50 of file libavcodec/microdvddec.c.

Referenced by microdvd_close_no_persistent_tags().

#define MICRODVD_PERSISTENT_ON   1

Definition at line 51 of file libavcodec/microdvddec.c.

Referenced by microdvd_load_tags(), and microdvd_open_tags().

#define MICRODVD_PERSISTENT_OPENED   2

Definition at line 52 of file libavcodec/microdvddec.c.

Referenced by microdvd_open_tags().

#define MICRODVD_STYLES   "ibus"
#define MICRODVD_TAGS   "cfshyYpo"

Function Documentation

static int indexof ( const char *  s,
int  c 
)
static

Definition at line 35 of file libavcodec/microdvddec.c.

Referenced by microdvd_load_tags(), and microdvd_set_tag().

static void microdvd_close_no_persistent_tags ( AVBPrint new_line,
struct microdvd_tag tags 
)
static

Definition at line 226 of file libavcodec/microdvddec.c.

Referenced by microdvd_decode_frame().

static int microdvd_decode_frame ( AVCodecContext avctx,
void data,
int *  got_sub_ptr,
AVPacket avpkt 
)
static

Definition at line 258 of file libavcodec/microdvddec.c.

static int microdvd_init ( AVCodecContext avctx)
static

Definition at line 322 of file libavcodec/microdvddec.c.

static char* microdvd_load_tags ( struct microdvd_tag tags,
char *  s 
)
static

Definition at line 69 of file libavcodec/microdvddec.c.

Referenced by microdvd_decode_frame(), and microdvd_init().

static void microdvd_open_tags ( AVBPrint new_line,
struct microdvd_tag tags 
)
static

Definition at line 184 of file libavcodec/microdvddec.c.

Referenced by microdvd_decode_frame().

static void microdvd_set_tag ( struct microdvd_tag tags,
struct microdvd_tag  tag 
)
static

Definition at line 57 of file libavcodec/microdvddec.c.

Referenced by microdvd_load_tags().

Variable Documentation

AVCodec ff_microdvd_decoder
Initial value:
= {
.name = "microdvd",
.long_name = NULL_IF_CONFIG_SMALL("MicroDVD subtitle"),
.init = microdvd_init,
}
static int microdvd_decode_frame(AVCodecContext *avctx, void *data, int *got_sub_ptr, AVPacket *avpkt)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
static int microdvd_init(AVCodecContext *avctx)

Definition at line 370 of file libavcodec/microdvddec.c.