ffv1.h File Reference

FF Video Codec 1 (a lossless codec) More...

#include "libavutil/avassert.h"
#include "libavutil/crc.h"
#include "libavutil/opt.h"
#include "libavutil/imgutils.h"
#include "libavutil/pixdesc.h"
#include "libavutil/timer.h"
#include "avcodec.h"
#include "dsputil.h"
#include "get_bits.h"
#include "internal.h"
#include "mathops.h"
#include "put_bits.h"
#include "rangecoder.h"
Include dependency graph for ffv1.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  VlcState
 
struct  PlaneContext
 
struct  FFV1Context
 

Macros

#define MAX_PLANES   4
 
#define CONTEXT_SIZE   32
 
#define MAX_QUANT_TABLES   8
 
#define MAX_CONTEXT_INPUTS   5
 
#define MAX_SLICES   256
 

Typedefs

typedef struct VlcState VlcState
 
typedef struct PlaneContext PlaneContext
 
typedef struct FFV1Context FFV1Context
 

Functions

int ffv1_common_init (AVCodecContext *avctx)
 
int ffv1_init_slice_state (FFV1Context *f, FFV1Context *fs)
 
int ffv1_init_slices_state (FFV1Context *f)
 
int ffv1_init_slice_contexts (FFV1Context *f)
 
int ffv1_allocate_initial_states (FFV1Context *f)
 
void ffv1_clear_slice_state (FFV1Context *f, FFV1Context *fs)
 
int ffv1_close (AVCodecContext *avctx)
 
static av_always_inline int fold (int diff, int bits)
 
static int predict (int16_t *src, int16_t *last)
 
static int get_context (PlaneContext *p, int16_t *src, int16_t *last, int16_t *last2)
 
static void update_vlc_state (VlcState *const state, const int v)
 

Variables

const uint8_t ff_log2_run [41]
 

Detailed Description

FF Video Codec 1 (a lossless codec)

Definition in file ffv1.h.

Macro Definition Documentation

#define MAX_CONTEXT_INPUTS   5

Definition at line 54 of file ffv1.h.

#define MAX_PLANES   4

Definition at line 50 of file ffv1.h.

Referenced by encode_rgb_frame(), ff_draw_init(), and ffv1_init_slice_contexts().

#define MAX_QUANT_TABLES   8

Definition at line 53 of file ffv1.h.

Referenced by read_extra_header().

#define MAX_SLICES   256

Definition at line 74 of file ffv1.h.

Typedef Documentation

typedef struct FFV1Context FFV1Context
typedef struct PlaneContext PlaneContext
typedef struct VlcState VlcState

Function Documentation

int ffv1_allocate_initial_states ( FFV1Context f)

Definition at line 146 of file ffv1.c.

Referenced by encode_init(), and read_extra_header().

void ffv1_clear_slice_state ( FFV1Context f,
FFV1Context fs 
)

Definition at line 161 of file ffv1.c.

Referenced by decode_slice(), and encode_slice().

int ffv1_close ( AVCodecContext avctx)

Definition at line 189 of file ffv1.c.

int ffv1_common_init ( AVCodecContext avctx)

Definition at line 41 of file ffv1.c.

Referenced by decode_init(), and encode_init().

int ffv1_init_slice_contexts ( FFV1Context f)

Definition at line 110 of file ffv1.c.

Referenced by decode_init(), and encode_init().

int ffv1_init_slice_state ( FFV1Context f,
FFV1Context fs 
)

Definition at line 65 of file ffv1.c.

Referenced by decode_slice(), and ffv1_init_slices_state().

int ffv1_init_slices_state ( FFV1Context f)

Definition at line 99 of file ffv1.c.

Referenced by encode_init().

static av_always_inline int fold ( int  diff,
int  bits 
)
static

Definition at line 138 of file ffv1.h.

Referenced by encode_line(), get_vlc_symbol(), and put_vlc_symbol().

static int get_context ( PlaneContext p,
int16_t *  src,
int16_t *  last,
int16_t *  last2 
)
inlinestatic

Definition at line 160 of file ffv1.h.

Referenced by decode_line(), and encode_line().

static int predict ( int16_t *  src,
int16_t *  last 
)
inlinestatic

Definition at line 151 of file ffv1.h.

static void update_vlc_state ( VlcState *const  state,
const int  v 
)
inlinestatic

Definition at line 182 of file ffv1.h.

Referenced by get_vlc_symbol(), and put_vlc_symbol().

Variable Documentation

const uint8_t ff_log2_run[41]

Definition at line 37 of file bitstream.c.