FF Video Codec 1 (a lossless codec) More...
#include "avcodec.h"
#include "get_bits.h"
#include "put_bits.h"
#include "dsputil.h"
#include "rangecoder.h"
#include "golomb.h"
#include "mathops.h"
#include "libavutil/avassert.h"
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 |
#define | put_rac(C, S, B) |
Typedefs | |
typedef struct VlcState | VlcState |
typedef struct PlaneContext | PlaneContext |
typedef struct FFV1Context | FFV1Context |
Functions | |
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 | find_best_state (uint8_t best_state[256][256], const uint8_t one_state[256]) |
static av_always_inline av_flatten void | put_symbol_inline (RangeCoder *c, uint8_t *state, int v, int is_signed, uint64_t rc_stat[256][2], uint64_t rc_stat2[32][2]) |
static void av_noinline | put_symbol (RangeCoder *c, uint8_t *state, int v, int is_signed) |
static av_flatten int | get_symbol_inline (RangeCoder *c, uint8_t *state, int is_signed) |
static int av_noinline | get_symbol (RangeCoder *c, uint8_t *state, int is_signed) |
static void | update_vlc_state (VlcState *const state, const int v) |
static void | put_vlc_symbol (PutBitContext *pb, VlcState *const state, int v, int bits) |
static int | get_vlc_symbol (GetBitContext *gb, VlcState *const state, int bits) |
static av_cold int | common_init (AVCodecContext *avctx) |
static int | init_slice_state (FFV1Context *f) |
static av_cold int | init_slice_contexts (FFV1Context *f) |
static int | allocate_initial_states (FFV1Context *f) |
static void | clear_state (FFV1Context *f) |
static av_cold int | common_end (AVCodecContext *avctx) |
static av_always_inline void | decode_line (FFV1Context *s, int w, int16_t *sample[2], int plane_index, int bits) |
static void | decode_plane (FFV1Context *s, uint8_t *src, int w, int h, int stride, int plane_index) |
static void | decode_rgb_frame (FFV1Context *s, uint32_t *src, int w, int h, int stride) |
static int | decode_slice (AVCodecContext *c, void *arg) |
static int | read_quant_table (RangeCoder *c, int16_t *quant_table, int scale) |
static int | read_quant_tables (RangeCoder *c, int16_t quant_table[MAX_CONTEXT_INPUTS][256]) |
static int | read_extra_header (FFV1Context *f) |
static int | read_header (FFV1Context *f) |
static av_cold int | decode_init (AVCodecContext *avctx) |
static int | decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt) |
Variables | |
const uint8_t | ff_log2_run [41] |
static const int8_t | quant5_10bit [256] |
static const int8_t | quant5 [256] |
static const int8_t | quant9_10bit [256] |
static const int8_t | quant11 [256] |
static const uint8_t | ver2_state [256] |
AVCodec | ff_ffv1_decoder |
FF Video Codec 1 (a lossless codec)
Definition in file ffv1.c.
#define CONTEXT_SIZE 32 |
Definition at line 38 of file ffv1.c.
Referenced by init_slice_state(), read_extra_header(), read_header(), and read_quant_table().
#define MAX_QUANT_TABLES 8 |
Definition at line 40 of file ffv1.c.
Referenced by read_extra_header().
#define MAX_SLICES 256 |
Definition at line 156 of file ffv1.c.
Referenced by read_header().
Referenced by put_symbol(), put_symbol2(), and put_symbol_inline().
typedef struct FFV1Context FFV1Context |
typedef struct PlaneContext PlaneContext |
|
static |
Definition at line 740 of file ffv1.c.
Referenced by read_extra_header().
|
static |
Definition at line 1031 of file ffv1.c.
Referenced by decode_frame().
|
static |
|
static |
Definition at line 656 of file ffv1.c.
Referenced by decode_init().
|
static |
|
static |
|
static |
Definition at line 1246 of file ffv1.c.
Referenced by decode_plane(), and decode_rgb_frame().
|
static |
Definition at line 1307 of file ffv1.c.
Referenced by decode_slice().
|
static |
Definition at line 1342 of file ffv1.c.
Referenced by decode_slice().
|
static |
Definition at line 1384 of file ffv1.c.
Referenced by decode_frame().
|
static |
|
static |
Definition at line 198 of file ffv1.c.
Referenced by get_vlc_symbol(), and put_vlc_symbol().
|
inlinestatic |
Definition at line 219 of file ffv1.c.
Referenced by decode_line().
|
static |
Definition at line 349 of file ffv1.c.
Referenced by decode_header(), decode_q_branch(), decode_qlogs(), read_extra_header(), read_header(), and read_quant_table().
|
inlinestatic |
Definition at line 329 of file ffv1.c.
Referenced by decode_line(), and get_symbol().
|
inlinestatic |
Definition at line 411 of file ffv1.c.
Referenced by decode_line().
|
static |
Definition at line 707 of file ffv1.c.
Referenced by decode_init().
|
static |
Definition at line 676 of file ffv1.c.
Referenced by decode_frame().
|
inlinestatic |
Definition at line 210 of file ffv1.c.
Referenced by decode_line().
|
static |
|
static |
Definition at line 278 of file ffv1.c.
Referenced by put_symbol().
|
inlinestatic |
|
static |
Definition at line 1453 of file ffv1.c.
Referenced by decode_init().
|
static |
Definition at line 1513 of file ffv1.c.
Referenced by decode_frame(), and mjpegb_decode_frame().
|
static |
Definition at line 1412 of file ffv1.c.
Referenced by read_quant_tables().
|
static |
Definition at line 1440 of file ffv1.c.
Referenced by read_extra_header(), and read_header().
Definition at line 353 of file ffv1.c.
Referenced by get_vlc_symbol(), and put_vlc_symbol().
AVCodec ff_ffv1_decoder |
const uint8_t ff_log2_run[41] |
Definition at line 35 of file bitstream.c.
|
static |
|
static |
|
static |
|
static |
|
static |