libavcodec/rle.c File Reference

#include "avcodec.h"
#include "rle.h"

Go to the source code of this file.

Functions

static int count_pixels (const uint8_t *start, int len, int bpp, int same)
 Count up to 127 consecutive pixels which are either all the same or all differ from the previous and next pixels.
int ff_rle_encode (uint8_t *outbuf, int out_size, const uint8_t *ptr, int bpp, int w, int add_rep, int xor_rep, int add_raw, int xor_raw)
 RLE compress the row, with maximum size of out_size.


Function Documentation

static int count_pixels ( const uint8_t *  start,
int  len,
int  bpp,
int  same 
) [static]

Count up to 127 consecutive pixels which are either all the same or all differ from the previous and next pixels.

Parameters:
start Pointer to the first pixel
len Maximum number of pixels
bpp Bytes per pixel
same 1 if searching for identical pixel values. 0 for differing
Returns:
Number of matching consecutive pixels found

Definition at line 33 of file rle.c.

Referenced by ff_rle_encode().

int ff_rle_encode ( uint8_t *  outbuf,
int  out_size,
const uint8_t *  inbuf,
int  bpp,
int  w,
int  add_rep,
int  xor_rep,
int  add_raw,
int  xor_raw 
)

RLE compress the row, with maximum size of out_size.

Value before repeated bytes is (count ^ xor_rep) + add_rep. Value before raw bytes is (count ^ xor_raw) + add_raw.

Parameters:
outbuf Output buffer
out_size Maximum output size
inbuf Input buffer
bpp Bytes per pixel
w Image width
Returns:
Size of output in bytes, or -1 if larger than out_size

Definition at line 57 of file rle.c.

Referenced by encode_frame(), encode_strip(), and targa_encode_rle().


Generated on Fri Oct 26 02:46:10 2012 for FFmpeg by  doxygen 1.5.8