FFmpeg
Functions
rle.c File Reference
#include <string.h>
#include "libavutil/macros.h"
#include "rle.h"

Go to the source code of this file.

Functions

int ff_rle_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. More...
 
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. More...
 

Function Documentation

◆ ff_rle_count_pixels()

int ff_rle_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.

Parameters
startPointer to the first pixel
lenMaximum number of pixels
bppBytes per pixel
same1 if searching for identical pixel values, 0 for differing
Returns
Number of matching consecutive pixels found

Definition at line 28 of file rle.c.

Referenced by ff_rle_encode(), and sgi_rle_encode().

◆ 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
outbufOutput buffer
out_sizeMaximum output size
inbufInput buffer
bppBytes per pixel
wImage width
Returns
Size of output in bytes, or -1 if larger than out_size

Definition at line 53 of file rle.c.

Referenced by encode_strip(), and targa_encode_rle().