FFmpeg  4.0
Functions | Variables
pcxenc.c File Reference

PCX image encoder. More...

#include "avcodec.h"
#include "bytestream.h"
#include "libavutil/imgutils.h"
#include "internal.h"

Go to the source code of this file.

Functions

static av_cold int pcx_encode_init (AVCodecContext *avctx)
 
static int pcx_rle_encode (uint8_t *dst, int dst_size, const uint8_t *src, int src_plane_size, int nplanes)
 PCX run-length encoder. More...
 
static int pcx_encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
 

Variables

static const uint32_t monoblack_pal [16] = { 0x000000, 0xFFFFFF }
 
AVCodec ff_pcx_encoder
 

Detailed Description

PCX image encoder.

Author
Daniel Verkamp
See also
http://bespin.org/~qz/pc-gpe/pcx.txt

Definition in file pcxenc.c.

Function Documentation

◆ pcx_encode_init()

static av_cold int pcx_encode_init ( AVCodecContext avctx)
static

Definition at line 36 of file pcxenc.c.

◆ pcx_rle_encode()

static int pcx_rle_encode ( uint8_t dst,
int  dst_size,
const uint8_t src,
int  src_plane_size,
int  nplanes 
)
static

PCX run-length encoder.

Parameters
dstoutput buffer
dst_sizesize of output buffer
srcinput buffer
src_plane_sizesize of one plane of input buffer in bytes
nplanesnumber of planes in input buffer
Returns
number of bytes written to dst or -1 on error
Bug:
will not work for nplanes != 1 && bpp != 8

Definition at line 58 of file pcxenc.c.

Referenced by pcx_encode_frame().

◆ pcx_encode_frame()

static int pcx_encode_frame ( AVCodecContext avctx,
AVPacket pkt,
const AVFrame frame,
int got_packet 
)
static

Definition at line 98 of file pcxenc.c.

Variable Documentation

◆ monoblack_pal

const uint32_t monoblack_pal[16] = { 0x000000, 0xFFFFFF }
static

Definition at line 34 of file pcxenc.c.

Referenced by pcx_encode_frame().

◆ ff_pcx_encoder

AVCodec ff_pcx_encoder
Initial value:
= {
.name = "pcx",
.long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"),
.init = pcx_encode_init,
.encode2 = pcx_encode_frame,
.pix_fmts = (const enum AVPixelFormat[]){
},
}
packed RGB 8:8:8, 24bpp, RGBRGB...
Definition: pixfmt.h:64
packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb)
Definition: pixfmt.h:81
8 bits with AV_PIX_FMT_RGB32 palette
Definition: pixfmt.h:73
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
packed RGB 1:2:1, 8bpp, (msb)1R 2G 1B(lsb)
Definition: pixfmt.h:84
static int pcx_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
Definition: pcxenc.c:98
packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb)
Definition: pixfmt.h:79
Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb...
Definition: pixfmt.h:72
Y , 8bpp.
Definition: pixfmt.h:70
packed RGB 3:3:2, 8bpp, (msb)2R 3G 3B(lsb)
Definition: pixfmt.h:82
static av_cold int pcx_encode_init(AVCodecContext *avctx)
Definition: pcxenc.c:36
AVPixelFormat
Pixel format.
Definition: pixfmt.h:60

Definition at line 207 of file pcxenc.c.