| 
    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 | 
 1.8.17