FFmpeg
|
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/crc.h"
#include "libavutil/opt.h"
#include "libavutil/imgutils.h"
#include "libavutil/pixdesc.h"
#include "avcodec.h"
#include "encode.h"
#include "codec_internal.h"
#include "put_bits.h"
#include "put_golomb.h"
#include "rangecoder.h"
#include "mathops.h"
#include "ffv1.h"
#include "ffv1enc_template.c"
Go to the source code of this file.
Macros | |
#define | put_rac(C, S, B) |
#define | TYPE int16_t |
#define | RENAME(name) name |
#define | TYPE int32_t |
#define | RENAME(name) name ## 32 |
#define | COST(old, new) |
#define | COST2(old, new) COST(old, new) + COST(256 - (old), 256 - (new)) |
#define | STATS_OUT_SIZE 1024 * 1024 * 6 |
#define | NB_Y_COEFF 15 |
#define | OFFSET(x) offsetof(FFV1Context, x) |
#define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Functions | |
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 av_noinline void | put_symbol (RangeCoder *c, uint8_t *state, int v, int is_signed) |
static void | put_vlc_symbol (PutBitContext *pb, VlcState *const state, int v, int bits) |
static int | encode_plane (FFV1Context *s, uint8_t *src, int w, int h, int stride, int plane_index, int pixel_stride) |
static void | write_quant_table (RangeCoder *c, int16_t *quant_table) |
static void | write_quant_tables (RangeCoder *c, int16_t quant_table[MAX_CONTEXT_INPUTS][256]) |
static int | contains_non_128 (uint8_t(*initial_state)[CONTEXT_SIZE], int nb_contexts) |
static void | write_header (FFV1Context *f) |
static int | write_extradata (FFV1Context *f) |
static int | sort_stt (FFV1Context *s, uint8_t stt[256]) |
static av_cold int | encode_init (AVCodecContext *avctx) |
static void | encode_slice_header (FFV1Context *f, FFV1Context *fs) |
static void | choose_rct_params (FFV1Context *fs, const uint8_t *src[3], const int stride[3], int w, int h) |
static int | encode_slice (AVCodecContext *c, void *arg) |
static int | encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet) |
static av_cold int | encode_close (AVCodecContext *avctx) |
Variables | |
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] |
static const AVOption | options [] |
static const AVClass | ffv1_class |
const FFCodec | ff_ffv1_encoder |
FF Video Codec 1 (a lossless codec) encoder
Definition in file ffv1enc.c.
#define COST | ( | old, | |
new | |||
) |
#define STATS_OUT_SIZE 1024 * 1024 * 6 |
#define NB_Y_COEFF 15 |
#define OFFSET | ( | x | ) | offsetof(FFV1Context, x) |
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
|
static |
Definition at line 139 of file ffv1enc.c.
Referenced by encode_init().
|
static |
Definition at line 184 of file ffv1enc.c.
Referenced by encode_line_TMPL(), and put_symbol().
|
static |
Definition at line 232 of file ffv1enc.c.
Referenced by encode_header(), encode_q_branch(), encode_q_branch2(), encode_qlogs(), encode_slice_header(), write_extradata(), write_header(), and write_quant_table().
|
inlinestatic |
Definition at line 239 of file ffv1enc.c.
Referenced by encode_line_TMPL().
|
static |
Definition at line 273 of file ffv1enc.c.
Referenced by encode_slice().
|
static |
Definition at line 311 of file ffv1enc.c.
Referenced by write_quant_tables().
|
static |
Definition at line 326 of file ffv1enc.c.
Referenced by write_extradata(), and write_header().
Definition at line 334 of file ffv1enc.c.
Referenced by write_extradata().
|
static |
Definition at line 346 of file ffv1enc.c.
Referenced by encode_frame(), and segment_start().
|
static |
Definition at line 393 of file ffv1enc.c.
Referenced by encode_init().
|
static |
Definition at line 466 of file ffv1enc.c.
Referenced by encode_init().
|
static |
|
static |
Definition at line 904 of file ffv1enc.c.
Referenced by encode_slice().
|
static |
Definition at line 937 of file ffv1enc.c.
Referenced by encode_slice().
|
static |
Definition at line 1019 of file ffv1enc.c.
Referenced by encode_frame().
|
static |
|
static |
|
static |
Definition at line 44 of file ffv1enc.c.
Referenced by encode_init().
|
static |
Definition at line 63 of file ffv1enc.c.
Referenced by encode_init().
|
static |
Definition at line 82 of file ffv1enc.c.
Referenced by encode_init().
|
static |
Definition at line 101 of file ffv1enc.c.
Referenced by encode_init().
|
static |
Definition at line 120 of file ffv1enc.c.
Referenced by encode_init().
|
static |
|
static |