FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions | Variables
pafvideo.c File Reference
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "bytestream.h"
#include "copy_block.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  PAFVideoDecContext
 

Functions

static av_cold int paf_video_close (AVCodecContext *avctx)
 
static av_cold int paf_video_init (AVCodecContext *avctx)
 
static void read4x4block (PAFVideoDecContext *c, uint8_t *dst, int width)
 
static void copy_color_mask (uint8_t *dst, int width, uint8_t mask, uint8_t color)
 
static void copy_src_mask (uint8_t *dst, int width, uint8_t mask, const uint8_t *src)
 
static void set_src_position (PAFVideoDecContext *c, const uint8_t **p, const uint8_t **pend)
 
static int decode_0 (PAFVideoDecContext *c, uint8_t *pkt, uint8_t code)
 
static int paf_video_decode (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *pkt)
 

Variables

static const uint8_t block_sequences [16][8]
 
AVCodec ff_paf_video_decoder
 

Function Documentation

static av_cold int paf_video_close ( AVCodecContext avctx)
static

Definition at line 64 of file pafvideo.c.

Referenced by paf_video_init().

static av_cold int paf_video_init ( AVCodecContext avctx)
static

Definition at line 77 of file pafvideo.c.

static void read4x4block ( PAFVideoDecContext c,
uint8_t dst,
int  width 
)
static

Definition at line 111 of file pafvideo.c.

Referenced by decode_0().

static void copy_color_mask ( uint8_t dst,
int  width,
uint8_t  mask,
uint8_t  color 
)
static

Definition at line 121 of file pafvideo.c.

Referenced by decode_0().

static void copy_src_mask ( uint8_t dst,
int  width,
uint8_t  mask,
const uint8_t src 
)
static

Definition at line 133 of file pafvideo.c.

Referenced by decode_0().

static void set_src_position ( PAFVideoDecContext c,
const uint8_t **  p,
const uint8_t **  pend 
)
static

Definition at line 145 of file pafvideo.c.

Referenced by decode_0().

static int decode_0 ( PAFVideoDecContext c,
uint8_t pkt,
uint8_t  code 
)
static

Definition at line 158 of file pafvideo.c.

Referenced by paf_video_decode().

static int paf_video_decode ( AVCodecContext avctx,
void data,
int *  got_frame,
AVPacket pkt 
)
static

Definition at line 263 of file pafvideo.c.

Variable Documentation

const uint8_t block_sequences[16][8]
static
Initial value:
= {
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 2, 0, 0, 0, 0, 0, 0, 0 },
{ 5, 7, 0, 0, 0, 0, 0, 0 },
{ 5, 0, 0, 0, 0, 0, 0, 0 },
{ 6, 0, 0, 0, 0, 0, 0, 0 },
{ 5, 7, 5, 7, 0, 0, 0, 0 },
{ 5, 7, 5, 0, 0, 0, 0, 0 },
{ 5, 7, 6, 0, 0, 0, 0, 0 },
{ 5, 5, 0, 0, 0, 0, 0, 0 },
{ 3, 0, 0, 0, 0, 0, 0, 0 },
{ 6, 6, 0, 0, 0, 0, 0, 0 },
{ 2, 4, 0, 0, 0, 0, 0, 0 },
{ 2, 4, 5, 7, 0, 0, 0, 0 },
{ 2, 4, 5, 0, 0, 0, 0, 0 },
{ 2, 4, 6, 0, 0, 0, 0, 0 },
{ 2, 4, 5, 7, 5, 7, 0, 0 },
}

Definition at line 30 of file pafvideo.c.

Referenced by decode_0().

AVCodec ff_paf_video_decoder
Initial value:
= {
.name = "paf_video",
.long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Video"),
.priv_data_size = sizeof(PAFVideoDecContext),
.close = paf_video_close,
.capabilities = AV_CODEC_CAP_DR1,
}
static av_cold int paf_video_close(AVCodecContext *avctx)
Definition: pafvideo.c:64
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:176
static int paf_video_decode(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *pkt)
Definition: pafvideo.c:263
static av_cold int paf_video_init(AVCodecContext *avctx)
Definition: pafvideo.c:77
static int decode(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *pkt)
Definition: ffmpeg.c:2035
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition: avcodec.h:959

Definition at line 387 of file pafvideo.c.