#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "put_bits.h"
Go to the source code of this file.
|
static void | put_xsub_rle (PutBitContext *pb, int len, int color) |
| Encode a single color run. More...
|
|
static int | xsub_encode_rle (PutBitContext *pb, const uint8_t *bitmap, int linesize, int w, int h) |
| Encode a 4-color bitmap with XSUB rle. More...
|
|
static int | make_tc (uint64_t ms, int *tc) |
|
static int | xsub_encode (AVCodecContext *avctx, unsigned char *buf, int bufsize, const AVSubtitle *h) |
|
static av_cold int | xsub_encoder_init (AVCodecContext *avctx) |
|
◆ PADDING
Number of pixels to pad left and right.
The official encoder pads the subtitles with two pixels on either side, but until we find out why, we won't do it (we will pad to have width divisible by 2 though).
Definition at line 35 of file xsubenc.c.
◆ PADDING_COLOR
◆ put_xsub_rle()
static void put_xsub_rle |
( |
PutBitContext * |
pb, |
|
|
int |
len, |
|
|
int |
color |
|
) |
| |
|
static |
Encode a single color run.
At most 16 bits will be used.
- Parameters
-
len | length of the run, values > 255 mean "until end of line", may not be < 0. |
color | color to encode, only the lowest two bits are used and all others must be 0. |
Definition at line 43 of file xsubenc.c.
Referenced by xsub_encode(), and xsub_encode_rle().
◆ xsub_encode_rle()
static int xsub_encode_rle |
( |
PutBitContext * |
pb, |
|
|
const uint8_t * |
bitmap, |
|
|
int |
linesize, |
|
|
int |
w, |
|
|
int |
h |
|
) |
| |
|
static |
Encode a 4-color bitmap with XSUB rle.
The encoded bitmap may be wider than the source bitmap due to padding.
Definition at line 57 of file xsubenc.c.
Referenced by xsub_encode().
◆ make_tc()
static int make_tc |
( |
uint64_t |
ms, |
|
|
int * |
tc |
|
) |
| |
|
static |
◆ xsub_encode()
◆ xsub_encoder_init()
◆ ff_xsub_encoder