FFmpeg  4.0
Data Structures | Macros | Functions
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 "get_bits.h"
#include "internal.h"
#include "mathops.h"
#include "put_bits.h"
#include "rangecoder.h"
#include "thread.h"
#include "ffv1_template.c"

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 AC_GOLOMB_RICE   0
 
#define AC_RANGE_DEFAULT_TAB   1
 
#define AC_RANGE_CUSTOM_TAB   2
 
#define AC_RANGE_DEFAULT_TAB_FORCE   -2
 
#define MAX_SLICES   1024
 
#define TYPE   int16_t
 
#define RENAME(name)   name
 
#define TYPE   int32_t
 
#define RENAME(name)   name ## 32
 

Functions

int ff_ffv1_common_init (AVCodecContext *avctx)
 
int ff_ffv1_init_slice_state (FFV1Context *f, FFV1Context *fs)
 
int ff_ffv1_init_slices_state (FFV1Context *f)
 
int ff_ffv1_init_slice_contexts (FFV1Context *f)
 
int ff_ffv1_allocate_initial_states (FFV1Context *f)
 
void ff_ffv1_clear_slice_state (FFV1Context *f, FFV1Context *fs)
 
int ff_ffv1_close (AVCodecContext *avctx)
 
static av_always_inline int fold (int diff, int bits)
 
static void update_vlc_state (VlcState *const state, const int v)
 

Detailed Description

FF Video Codec 1 (a lossless codec)

Definition in file ffv1.h.

Macro Definition Documentation

◆ MAX_PLANES

#define MAX_PLANES   4

◆ CONTEXT_SIZE

#define CONTEXT_SIZE   32

◆ MAX_QUANT_TABLES

#define MAX_QUANT_TABLES   8

Definition at line 53 of file ffv1.h.

Referenced by copy_fields(), and read_extra_header().

◆ MAX_CONTEXT_INPUTS

#define MAX_CONTEXT_INPUTS   5

Definition at line 54 of file ffv1.h.

◆ AC_GOLOMB_RICE

#define AC_GOLOMB_RICE   0

◆ AC_RANGE_DEFAULT_TAB

#define AC_RANGE_DEFAULT_TAB   1

Definition at line 57 of file ffv1.h.

Referenced by encode_init().

◆ AC_RANGE_CUSTOM_TAB

#define AC_RANGE_CUSTOM_TAB   2

◆ AC_RANGE_DEFAULT_TAB_FORCE

#define AC_RANGE_DEFAULT_TAB_FORCE   -2

Definition at line 59 of file ffv1.h.

Referenced by encode_init().

◆ MAX_SLICES

#define MAX_SLICES   1024

Definition at line 77 of file ffv1.h.

◆ TYPE [1/2]

#define TYPE   int16_t

◆ RENAME [1/2]

#define RENAME (   name)    name

◆ TYPE [2/2]

#define TYPE   int32_t

Definition at line 204 of file ffv1.h.

◆ RENAME [2/2]

#define RENAME (   name)    name ## 32

Definition at line 205 of file ffv1.h.

Function Documentation

◆ ff_ffv1_common_init()

int ff_ffv1_common_init ( AVCodecContext avctx)

Definition at line 42 of file ffv1.c.

Referenced by decode_init(), and encode_init().

◆ ff_ffv1_init_slice_state()

int ff_ffv1_init_slice_state ( FFV1Context f,
FFV1Context fs 
)

Definition at line 67 of file ffv1.c.

Referenced by decode_slice(), and ff_ffv1_init_slices_state().

◆ ff_ffv1_init_slices_state()

int ff_ffv1_init_slices_state ( FFV1Context f)

Definition at line 106 of file ffv1.c.

Referenced by encode_init().

◆ ff_ffv1_init_slice_contexts()

int ff_ffv1_init_slice_contexts ( FFV1Context f)

Definition at line 117 of file ffv1.c.

Referenced by decode_frame(), decode_init(), and encode_init().

◆ ff_ffv1_allocate_initial_states()

int ff_ffv1_allocate_initial_states ( FFV1Context f)

Definition at line 167 of file ffv1.c.

Referenced by encode_init(), and read_extra_header().

◆ ff_ffv1_clear_slice_state()

void ff_ffv1_clear_slice_state ( FFV1Context f,
FFV1Context fs 
)

Definition at line 182 of file ffv1.c.

Referenced by decode_slice(), encode_slice(), and encode_slice_header().

◆ ff_ffv1_close()

int ff_ffv1_close ( AVCodecContext avctx)

Definition at line 210 of file ffv1.c.

Referenced by encode_close().

◆ fold()

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

Definition at line 151 of file ffv1.h.

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

◆ update_vlc_state()

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

Definition at line 164 of file ffv1.h.

Referenced by get_vlc_symbol(), and put_vlc_symbol().