qtrleenc.c File Reference
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "bytestream.h"

Go to the source code of this file.

Data Structures

struct  QtrleEncContext
 

Macros

#define MAX_RLE_BULK   127
 Maximum RLE code for bulk copy. More...
 
#define MAX_RLE_REPEAT   128
 Maximum RLE code for repeat. More...
 
#define MAX_RLE_SKIP   254
 Maximum RLE code for skip. More...
 

Typedefs

typedef struct QtrleEncContext QtrleEncContext
 

Functions

static av_cold int qtrle_encode_init (AVCodecContext *avctx)
 
static void qtrle_encode_line (QtrleEncContext *s, AVFrame *p, int line, uint8_t **buf)
 Compute the best RLE sequence for a line. More...
 
static int encode_frame (QtrleEncContext *s, AVFrame *p, uint8_t *buf)
 Encode frame including header. More...
 
static int qtrle_encode_frame (AVCodecContext *avctx, uint8_t *buf, int buf_size, void *data)
 
static av_cold int qtrle_encode_end (AVCodecContext *avctx)
 

Variables

AVCodec ff_qtrle_encoder
 

Macro Definition Documentation

#define MAX_RLE_BULK   127

Maximum RLE code for bulk copy.

Definition at line 30 of file qtrleenc.c.

Referenced by qtrle_encode_init(), and qtrle_encode_line().

#define MAX_RLE_REPEAT   128

Maximum RLE code for repeat.

Definition at line 32 of file qtrleenc.c.

Referenced by qtrle_encode_line().

#define MAX_RLE_SKIP   254

Maximum RLE code for skip.

Definition at line 34 of file qtrleenc.c.

Referenced by qtrle_encode_line().

Typedef Documentation

Function Documentation

static int encode_frame ( QtrleEncContext s,
AVFrame p,
uint8_t *  buf 
)
static

Encode frame including header.

Definition at line 240 of file qtrleenc.c.

Referenced by qtrle_encode_frame().

static av_cold int qtrle_encode_end ( AVCodecContext avctx)
static

Definition at line 313 of file qtrleenc.c.

static int qtrle_encode_frame ( AVCodecContext avctx,
uint8_t *  buf,
int  buf_size,
void data 
)
static

Definition at line 281 of file qtrleenc.c.

static av_cold int qtrle_encode_init ( AVCodecContext avctx)
static

Definition at line 62 of file qtrleenc.c.

static void qtrle_encode_line ( QtrleEncContext s,
AVFrame p,
int  line,
uint8_t **  buf 
)
static

Compute the best RLE sequence for a line.

Definition at line 110 of file qtrleenc.c.

Referenced by encode_frame().

Variable Documentation

AVCodec ff_qtrle_encoder
Initial value:
= {
.name = "qtrle",
.priv_data_size = sizeof(QtrleEncContext),
.encode = qtrle_encode_frame,
.long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"),
}
static av_cold int qtrle_encode_end(AVCodecContext *avctx)
Definition: qtrleenc.c:313
static int init(AVCodecParserContext *s)
Definition: h264_parser.c:336
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:191
static av_cold int qtrle_encode_init(AVCodecContext *avctx)
Definition: qtrleenc.c:62
struct QtrleEncContext QtrleEncContext
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:327
packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
Definition: pixfmt.h:92
packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0 ...
Definition: pixfmt.h:112
static int qtrle_encode_frame(AVCodecContext *avctx, uint8_t *buf, int buf_size, void *data)
Definition: qtrleenc.c:281
PixelFormat
Pixel format.
Definition: pixfmt.h:62
packed RGB 8:8:8, 24bpp, RGBRGB...
Definition: pixfmt.h:66

Definition at line 324 of file qtrleenc.c.