sgirledec.c File Reference

SGI RLE 8-bit decoder. More...

#include "avcodec.h"
#include "internal.h"
Include dependency graph for sgirledec.c:

Go to the source code of this file.

Data Structures

struct  SGIRLEContext
 

Macros

#define RGB332_TO_BGR8(x)   (((x << 3) & 0xC0) | ((x << 3) & 0x38) | ((x >> 5) & 7))
 Convert SGI RGB332 pixel into PIX_FMT_BGR8 SGI RGB332 is packed RGB 3:3:2, 8bpp, (msb)3R 2B 3G(lsb) More...
 
#define INC_XY(n)
 

Typedefs

typedef struct SGIRLEContext SGIRLEContext
 

Functions

static av_cold int sgirle_decode_init (AVCodecContext *avctx)
 
static av_always_inline void memcpy_rgb332_to_bgr8 (uint8_t *dst, const uint8_t *src, int size)
 
static int decode_sgirle8 (AVCodecContext *avctx, uint8_t *dst, const uint8_t *src, int src_size, int width, int height, int linesize)
 
static int sgirle_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
 
static av_cold int sgirle_decode_end (AVCodecContext *avctx)
 

Variables

AVCodec ff_sgirle_decoder
 

Detailed Description

SGI RLE 8-bit decoder.

Definition in file sgirledec.c.

Macro Definition Documentation

#define INC_XY (   n)
Value:
x += n; \
if (x >= width) { \
y++; \
if (y >= height) \
x = 0; \
}
initialize output if(nPeaks >3)%at least 3 peaks in spectrum for trying to find f0 nf0peaks
Discrete Time axis x
static int width
Definition: tests/utils.c:158
BYTE int const BYTE int int int height
Definition: avisynth_c.h:713
function y
Definition: D.m:1
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame This method is called when a frame is wanted on an output For an it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return it should return

Referenced by decode_sgirle8().

#define RGB332_TO_BGR8 (   x)    (((x << 3) & 0xC0) | ((x << 3) & 0x38) | ((x >> 5) & 7))

Convert SGI RGB332 pixel into PIX_FMT_BGR8 SGI RGB332 is packed RGB 3:3:2, 8bpp, (msb)3R 2B 3G(lsb)

Definition at line 48 of file sgirledec.c.

Referenced by decode_sgirle8(), and memcpy_rgb332_to_bgr8().

Typedef Documentation

typedef struct SGIRLEContext SGIRLEContext

Function Documentation

static int decode_sgirle8 ( AVCodecContext avctx,
uint8_t dst,
const uint8_t src,
int  src_size,
int  width,
int  height,
int  linesize 
)
static
Parameters
[out]dstDestination buffer
[in]srcSource buffer
src_sizeSource buffer size (bytes)
widthWidth of destination buffer (pixels)
heightHeight of destination buffer (pixels)
linesizeLine size of destination buffer (bytes)
Returns
<0 on error

Definition at line 66 of file sgirledec.c.

Referenced by sgirle_decode_frame().

static av_always_inline void memcpy_rgb332_to_bgr8 ( uint8_t dst,
const uint8_t src,
int  size 
)
static

Definition at line 50 of file sgirledec.c.

Referenced by decode_sgirle8().

static av_cold int sgirle_decode_end ( AVCodecContext avctx)
static

Definition at line 130 of file sgirledec.c.

static int sgirle_decode_frame ( AVCodecContext avctx,
void data,
int *  got_frame,
AVPacket avpkt 
)
static

Definition at line 109 of file sgirledec.c.

static av_cold int sgirle_decode_init ( AVCodecContext avctx)
static

Definition at line 34 of file sgirledec.c.

Variable Documentation

AVCodec ff_sgirle_decoder
Initial value:
= {
.name = "sgirle",
.priv_data_size = sizeof(SGIRLEContext),
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("SGI RLE 8-bit"),
}
static int sgirle_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
Definition: sgirledec.c:109
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
#define CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
static av_cold int sgirle_decode_end(AVCodecContext *avctx)
Definition: sgirledec.c:130
struct SGIRLEContext SGIRLEContext
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
static av_cold int sgirle_decode_init(AVCodecContext *avctx)
Definition: sgirledec.c:34
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:375
static int decode(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
Definition: crystalhd.c:868

Definition at line 139 of file sgirledec.c.