FFmpeg
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Structures | Macros | Functions | Variables
mpegvideo_enc.c File Reference
#include "config_components.h"
#include <assert.h>
#include <stdint.h>
#include "libavutil/emms.h"
#include "libavutil/internal.h"
#include "libavutil/intmath.h"
#include "libavutil/mathematics.h"
#include "libavutil/mem.h"
#include "libavutil/mem_internal.h"
#include "libavutil/opt.h"
#include "libavutil/thread.h"
#include "avcodec.h"
#include "encode.h"
#include "idctdsp.h"
#include "mpeg12codecs.h"
#include "mpeg12data.h"
#include "mpeg12enc.h"
#include "mpegvideo.h"
#include "mpegvideodata.h"
#include "mpegvideoenc.h"
#include "h261enc.h"
#include "h263.h"
#include "h263data.h"
#include "h263enc.h"
#include "mjpegenc_common.h"
#include "mathops.h"
#include "mpegutils.h"
#include "mpegvideo_unquantize.h"
#include "mjpegenc.h"
#include "speedhqenc.h"
#include "msmpeg4enc.h"
#include "pixblockdsp.h"
#include "qpeldsp.h"
#include "faandct.h"
#include "aandcttab.h"
#include "mpeg4video.h"
#include "mpeg4videodata.h"
#include "mpeg4videoenc.h"
#include "internal.h"
#include "bytestream.h"
#include "rv10enc.h"
#include "packet_internal.h"
#include "libavutil/refstruct.h"
#include <limits.h>
#include "sp5x.h"

Go to the source code of this file.

Data Structures

struct  MBBackup
 

Macros

#define QUANT_BIAS_SHIFT   8
 
#define QMAT_SHIFT_MMX   16
 
#define QMAT_SHIFT   21
 
#define COPY(a)   dst->a = src->a
 
#define ALLOCZ_ARRAYS(p, mult, numb)   ((p) = av_calloc(numb, mult * sizeof(*(p))))
 
#define INTERLACED_DCT(s)
 
#define COPY_CONTEXT(BEFORE, AFTER, DST_TYPE, SRC_TYPE)
 
#define ADD(field)   dst->field += src->field;
 
#define MERGE(field)   dst->field += src->field; src->field=0
 

Functions

static int encode_picture (MPVMainEncContext *const s, const AVPacket *pkt)
 
static int dct_quantize_refine (MPVEncContext *const s, int16_t *block, int16_t *weight, int16_t *orig, int n, int qscale)
 
static int sse_mb (MPVEncContext *const s)
 
static void denoise_dct_c (MPVEncContext *const s, int16_t *block)
 
static int dct_quantize_c (MPVEncContext *const s, int16_t *block, int n, int qscale, int *overflow)
 
static int dct_quantize_trellis_c (MPVEncContext *const s, int16_t *block, int n, int qscale, int *overflow)
 
void ff_convert_matrix (MPVEncContext *const s, int(*qmat)[64], uint16_t(*qmat16)[2][64], const uint16_t *quant_matrix, int bias, int qmin, int qmax, int intra)
 
static void update_qscale (MPVMainEncContext *const m)
 
void ff_write_quant_matrix (PutBitContext *pb, uint16_t *matrix)
 
static void init_qscale_tab (MPVEncContext *const s)
 init s->c.cur_pic.qscale_table from s->lambda_table More...
 
static void update_duplicate_context_after_me (MPVEncContext *const dst, const MPVEncContext *const src)
 
static av_cold void mpv_encode_init_static (void)
 
static av_cold void mpv_encode_defaults (MPVMainEncContext *const m)
 Set the given MPVEncContext to defaults for encoding. More...
 
av_cold void ff_dct_encode_init (MPVEncContext *const s)
 
static av_cold void init_unquantize (MpegEncContext *const s, AVCodecContext *avctx)
 
static av_cold int me_cmp_init (MPVMainEncContext *const m, AVCodecContext *avctx)
 
static av_cold int init_matrices (MPVMainEncContext *const m, AVCodecContext *avctx)
 
static av_cold int init_buffers (MPVMainEncContext *const m, AVCodecContext *avctx)
 
av_cold int ff_mpv_encode_init (AVCodecContext *avctx)
 
av_cold int ff_mpv_encode_end (AVCodecContext *avctx)
 
static void put_dct (MPVEncContext *const s, int16_t *block, int i, uint8_t *dest, int line_size, int qscale)
 
static void add_dequant_dct (MPVEncContext *const s, int16_t *block, int i, uint8_t *dest, int line_size, int qscale)
 
static void mpv_reconstruct_mb (MPVEncContext *const s, int16_t block[12][64])
 Performs dequantization and IDCT (if necessary) More...
 
static int get_sae (const uint8_t *src, int ref, int stride)
 
static int get_intra_count (MPVEncContext *const s, const uint8_t *src, const uint8_t *ref, int stride)
 
static int prepare_picture (MPVEncContext *const s, AVFrame *f, const AVFrame *props_frame)
 Allocates new buffers for an AVFrame and copies the properties from another AVFrame. More...
 
static int load_input_picture (MPVMainEncContext *const m, const AVFrame *pic_arg)
 
static int skip_check (MPVMainEncContext *const m, const MPVPicture *p, const MPVPicture *ref)
 
static int encode_frame (AVCodecContext *c, const AVFrame *frame, AVPacket *pkt)
 
static int estimate_best_b_count (MPVMainEncContext *const m)
 
static int set_bframe_chain_length (MPVMainEncContext *const m)
 Determines whether an input picture is discarded or not and if not determines the length of the next chain of B frames and moves these pictures (including the P frame) into reordered_input_picture. More...
 
static int select_input_picture (MPVMainEncContext *const m)
 
static void frame_end (MPVMainEncContext *const m)
 
static void update_noise_reduction (MPVMainEncContext *const m)
 
static void frame_start (MPVMainEncContext *const m)
 
int ff_mpv_encode_picture (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pic_arg, int *got_packet)
 
static void dct_single_coeff_elimination (MPVEncContext *const s, int n, int threshold)
 
static void clip_coeffs (const MPVEncContext *const s, int16_t block[], int last_index)
 
static void get_visual_weight (int16_t *weight, const uint8_t *ptr, int stride)
 
static av_always_inline void encode_mb_internal (MPVEncContext *const s, int motion_x, int motion_y, int mb_block_height, int mb_block_width, int mb_block_count, int chroma_x_shift, int chroma_y_shift, int chroma_format)
 
static void encode_mb (MPVEncContext *const s, int motion_x, int motion_y)
 
static void encode_mb_hq (MPVEncContext *const s, MBBackup *const backup, MBBackup *const best, PutBitContext pb[2], PutBitContext pb2[2], PutBitContext tex_pb[2], int *dmin, int *next_block, int motion_x, int motion_y)
 
static int sse (const MPVEncContext *const s, const uint8_t *src1, const uint8_t *src2, int w, int h, int stride)
 
static int pre_estimate_motion_thread (AVCodecContext *c, void *arg)
 
static int estimate_motion_thread (AVCodecContext *c, void *arg)
 
static int mb_var_thread (AVCodecContext *c, void *arg)
 
static void write_slice_end (MPVEncContext *const s)
 
static void write_mb_info (MPVEncContext *const s)
 
static void update_mb_info (MPVEncContext *const s, int startcode)
 
int ff_mpv_reallocate_putbitbuffer (MPVEncContext *const s, size_t threshold, size_t size_increase)
 
static int encode_thread (AVCodecContext *c, void *arg)
 
static void merge_context_after_me (MPVEncContext *const dst, MPVEncContext *const src)
 
static void merge_context_after_encode (MPVEncContext *const dst, MPVEncContext *const src)
 
static int estimate_qp (MPVMainEncContext *const m, int dry_run)
 
static void set_frame_distances (MPVEncContext *const s)
 
static void build_basis (uint8_t *perm)
 
void ff_block_permute (int16_t *block, const uint8_t *permutation, const uint8_t *scantable, int last)
 Permute an 8x8 block according to permutation. More...
 

Variables

static uint8_t default_fcode_tab [MAX_MV *2+1]
 
static const AVOption mpv_generic_options []
 
const AVClass ff_mpv_enc_class
 
static int16_t basis [64][64]
 

Detailed Description

The simplest mpeg encoder (well, it was the simplest!).

Definition in file mpegvideo_enc.c.

Macro Definition Documentation

◆ QUANT_BIAS_SHIFT

#define QUANT_BIAS_SHIFT   8

Definition at line 82 of file mpegvideo_enc.c.

◆ QMAT_SHIFT_MMX

#define QMAT_SHIFT_MMX   16

Definition at line 84 of file mpegvideo_enc.c.

◆ QMAT_SHIFT

#define QMAT_SHIFT   21

Definition at line 85 of file mpegvideo_enc.c.

◆ COPY

#define COPY (   a)    dst->a = src->a

◆ ALLOCZ_ARRAYS

#define ALLOCZ_ARRAYS (   p,
  mult,
  numb 
)    ((p) = av_calloc(numb, mult * sizeof(*(p))))

Definition at line 377 of file mpegvideo_enc.c.

◆ INTERLACED_DCT

#define INTERLACED_DCT (   s)
Value:
((chroma_format == CHROMA_420 || chroma_format == CHROMA_422) && \
(s)->c.avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT)

◆ COPY_CONTEXT

#define COPY_CONTEXT (   BEFORE,
  AFTER,
  DST_TYPE,
  SRC_TYPE 
)

Definition at line 2645 of file mpegvideo_enc.c.

◆ ADD

#define ADD (   field)    dst->field += src->field;

Definition at line 3605 of file mpegvideo_enc.c.

◆ MERGE

#define MERGE (   field)    dst->field += src->field; src->field=0

Definition at line 3606 of file mpegvideo_enc.c.

Function Documentation

◆ encode_picture()

static int encode_picture ( MPVMainEncContext *const  s,
const AVPacket pkt 
)
static

Definition at line 3696 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_picture().

◆ dct_quantize_refine()

static int dct_quantize_refine ( MPVEncContext *const  s,
int16_t *  block,
int16_t *  weight,
int16_t *  orig,
int  n,
int  qscale 
)
static

Definition at line 4295 of file mpegvideo_enc.c.

Referenced by encode_mb_internal().

◆ sse_mb()

static int sse_mb ( MPVEncContext *const  s)
static

Definition at line 2786 of file mpegvideo_enc.c.

Referenced by encode_mb_hq().

◆ denoise_dct_c()

static void denoise_dct_c ( MPVEncContext *const  s,
int16_t *  block 
)
static

Definition at line 3937 of file mpegvideo_enc.c.

Referenced by ff_dct_encode_init().

◆ dct_quantize_c()

static int dct_quantize_c ( MPVEncContext *const  s,
int16_t *  block,
int  n,
int  qscale,
int *  overflow 
)
static

Definition at line 4647 of file mpegvideo_enc.c.

Referenced by encode_mb_internal(), and ff_dct_encode_init().

◆ dct_quantize_trellis_c()

static int dct_quantize_trellis_c ( MPVEncContext *const  s,
int16_t *  block,
int  n,
int  qscale,
int *  overflow 
)
static

Definition at line 3962 of file mpegvideo_enc.c.

Referenced by ff_dct_encode_init().

◆ ff_convert_matrix()

void ff_convert_matrix ( MPVEncContext *const  s,
int(*)  qmat[64],
uint16_t(*)  qmat16[2][64],
const uint16_t *  quant_matrix,
int  bias,
int  qmin,
int  qmax,
int  intra 
)

Definition at line 111 of file mpegvideo_enc.c.

Referenced by dnxhd_init_qmat(), encode_picture(), and init_matrices().

◆ update_qscale()

static void update_qscale ( MPVMainEncContext *const  m)
inlinestatic

Definition at line 198 of file mpegvideo_enc.c.

Referenced by encode_picture(), and estimate_qp().

◆ ff_write_quant_matrix()

void ff_write_quant_matrix ( PutBitContext pb,
uint16_t *  matrix 
)

Definition at line 228 of file mpegvideo_enc.c.

Referenced by mpeg4_encode_vol_header().

◆ init_qscale_tab()

static void init_qscale_tab ( MPVEncContext *const  s)
static

init s->c.cur_pic.qscale_table from s->lambda_table

Definition at line 244 of file mpegvideo_enc.c.

Referenced by estimate_qp().

◆ update_duplicate_context_after_me()

static void update_duplicate_context_after_me ( MPVEncContext *const  dst,
const MPVEncContext *const  src 
)
static

Definition at line 256 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ mpv_encode_init_static()

static av_cold void mpv_encode_init_static ( void  )
static

Definition at line 272 of file mpegvideo_enc.c.

Referenced by mpv_encode_defaults().

◆ mpv_encode_defaults()

static av_cold void mpv_encode_defaults ( MPVMainEncContext *const  m)
static

Set the given MPVEncContext to defaults for encoding.

Definition at line 281 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_init().

◆ ff_dct_encode_init()

av_cold void ff_dct_encode_init ( MPVEncContext *const  s)

Definition at line 301 of file mpegvideo_enc.c.

Referenced by dnxhd_encode_init(), and ff_mpv_encode_init().

◆ init_unquantize()

static av_cold void init_unquantize ( MpegEncContext *const  s,
AVCodecContext avctx 
)
static

Definition at line 316 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_init().

◆ me_cmp_init()

static av_cold int me_cmp_init ( MPVMainEncContext *const  m,
AVCodecContext avctx 
)
static

Definition at line 335 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_init().

◆ init_matrices()

static av_cold int init_matrices ( MPVMainEncContext *const  m,
AVCodecContext avctx 
)
static

Definition at line 378 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_init().

◆ init_buffers()

static av_cold int init_buffers ( MPVMainEncContext *const  m,
AVCodecContext avctx 
)
static

The number is supposed to match/exceed the cache-line size.

Definition at line 446 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_init().

◆ ff_mpv_encode_init()

av_cold int ff_mpv_encode_init ( AVCodecContext avctx)

◆ ff_mpv_encode_end()

av_cold int ff_mpv_encode_end ( AVCodecContext avctx)

Definition at line 1104 of file mpegvideo_enc.c.

Referenced by mjpeg_encode_close().

◆ put_dct()

static void put_dct ( MPVEncContext *const  s,
int16_t *  block,
int  i,
uint8_t *  dest,
int  line_size,
int  qscale 
)
inlinestatic

Definition at line 1140 of file mpegvideo_enc.c.

Referenced by mpv_reconstruct_mb().

◆ add_dequant_dct()

static void add_dequant_dct ( MPVEncContext *const  s,
int16_t *  block,
int  i,
uint8_t *  dest,
int  line_size,
int  qscale 
)
inlinestatic

Definition at line 1147 of file mpegvideo_enc.c.

Referenced by mpv_reconstruct_mb().

◆ mpv_reconstruct_mb()

static void mpv_reconstruct_mb ( MPVEncContext *const  s,
int16_t  block[12][64] 
)
static

Performs dequantization and IDCT (if necessary)

Definition at line 1160 of file mpegvideo_enc.c.

Referenced by encode_mb_hq(), and encode_thread().

◆ get_sae()

static int get_sae ( const uint8_t *  src,
int  ref,
int  stride 
)
static

Definition at line 1228 of file mpegvideo_enc.c.

Referenced by get_intra_count().

◆ get_intra_count()

static int get_intra_count ( MPVEncContext *const  s,
const uint8_t *  src,
const uint8_t *  ref,
int  stride 
)
static

Definition at line 1242 of file mpegvideo_enc.c.

Referenced by set_bframe_chain_length().

◆ prepare_picture()

static int prepare_picture ( MPVEncContext *const  s,
AVFrame f,
const AVFrame props_frame 
)
static

Allocates new buffers for an AVFrame and copies the properties from another AVFrame.

Definition at line 1269 of file mpegvideo_enc.c.

Referenced by load_input_picture(), and select_input_picture().

◆ load_input_picture()

static int load_input_picture ( MPVMainEncContext *const  m,
const AVFrame pic_arg 
)
static

Definition at line 1301 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_picture().

◆ skip_check()

static int skip_check ( MPVMainEncContext *const  m,
const MPVPicture p,
const MPVPicture ref 
)
static

Definition at line 1442 of file mpegvideo_enc.c.

Referenced by set_bframe_chain_length().

◆ encode_frame()

static int encode_frame ( AVCodecContext c,
const AVFrame frame,
AVPacket pkt 
)
static

Definition at line 1484 of file mpegvideo_enc.c.

Referenced by estimate_best_b_count().

◆ estimate_best_b_count()

static int estimate_best_b_count ( MPVMainEncContext *const  m)
static

Definition at line 1505 of file mpegvideo_enc.c.

Referenced by set_bframe_chain_length().

◆ set_bframe_chain_length()

static int set_bframe_chain_length ( MPVMainEncContext *const  m)
static

Determines whether an input picture is discarded or not and if not determines the length of the next chain of B frames and moves these pictures (including the P frame) into reordered_input_picture.

input_picture[0] is always NULL when exiting this function, even on error; reordered_input_picture[0] is always NULL when exiting this function on error.

Definition at line 1658 of file mpegvideo_enc.c.

Referenced by select_input_picture().

◆ select_input_picture()

static int select_input_picture ( MPVMainEncContext *const  m)
static

Definition at line 1789 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_picture().

◆ frame_end()

static void frame_end ( MPVMainEncContext *const  m)
static

Definition at line 1849 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_picture().

◆ update_noise_reduction()

static void update_noise_reduction ( MPVMainEncContext *const  m)
static

Definition at line 1887 of file mpegvideo_enc.c.

Referenced by frame_start().

◆ frame_start()

static void frame_start ( MPVMainEncContext *const  m)
static

◆ ff_mpv_encode_picture()

int ff_mpv_encode_picture ( AVCodecContext avctx,
AVPacket pkt,
const AVFrame pic_arg,
int *  got_packet 
)

Definition at line 1926 of file mpegvideo_enc.c.

◆ dct_single_coeff_elimination()

static void dct_single_coeff_elimination ( MPVEncContext *const  s,
int  n,
int  threshold 
)
inlinestatic

Definition at line 2156 of file mpegvideo_enc.c.

Referenced by encode_mb_internal().

◆ clip_coeffs()

static void clip_coeffs ( const MPVEncContext *const  s,
int16_t  block[],
int  last_index 
)
inlinestatic

Definition at line 2212 of file mpegvideo_enc.c.

Referenced by encode_mb_internal().

◆ get_visual_weight()

static void get_visual_weight ( int16_t *  weight,
const uint8_t *  ptr,
int  stride 
)
static

Definition at line 2246 of file mpegvideo_enc.c.

Referenced by encode_mb_internal().

◆ encode_mb_internal()

static av_always_inline void encode_mb_internal ( MPVEncContext *const  s,
int  motion_x,
int  motion_y,
int  mb_block_height,
int  mb_block_width,
int  mb_block_count,
int  chroma_x_shift,
int  chroma_y_shift,
int  chroma_format 
)
static

Definition at line 2270 of file mpegvideo_enc.c.

Referenced by encode_mb().

◆ encode_mb()

static void encode_mb ( MPVEncContext *const  s,
int  motion_x,
int  motion_y 
)
static

Definition at line 2617 of file mpegvideo_enc.c.

Referenced by encode_mb_hq(), and encode_thread().

◆ encode_mb_hq()

static void encode_mb_hq ( MPVEncContext *const  s,
MBBackup *const  backup,
MBBackup *const  best,
PutBitContext  pb[2],
PutBitContext  pb2[2],
PutBitContext  tex_pb[2],
int *  dmin,
int *  next_block,
int  motion_x,
int  motion_y 
)
static

Definition at line 2713 of file mpegvideo_enc.c.

Referenced by encode_thread().

◆ sse()

static int sse ( const MPVEncContext *const  s,
const uint8_t *  src1,
const uint8_t *  src2,
int  w,
int  h,
int  stride 
)
static

◆ pre_estimate_motion_thread()

static int pre_estimate_motion_thread ( AVCodecContext c,
void *  arg 
)
static

Definition at line 2812 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ estimate_motion_thread()

static int estimate_motion_thread ( AVCodecContext c,
void *  arg 
)
static

Definition at line 2830 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ mb_var_thread()

static int mb_var_thread ( AVCodecContext c,
void *  arg 
)
static

Definition at line 2855 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ write_slice_end()

static void write_slice_end ( MPVEncContext *const  s)
static

Definition at line 2877 of file mpegvideo_enc.c.

Referenced by encode_thread().

◆ write_mb_info()

static void write_mb_info ( MPVEncContext *const  s)
static

Definition at line 2897 of file mpegvideo_enc.c.

Referenced by update_mb_info().

◆ update_mb_info()

static void update_mb_info ( MPVEncContext *const  s,
int  startcode 
)
static

Definition at line 2917 of file mpegvideo_enc.c.

Referenced by encode_thread().

◆ ff_mpv_reallocate_putbitbuffer()

int ff_mpv_reallocate_putbitbuffer ( MPVEncContext *const  s,
size_t  threshold,
size_t  size_increase 
)

Definition at line 2940 of file mpegvideo_enc.c.

Referenced by encode_thread(), and ff_mjpeg_encode_stuffing().

◆ encode_thread()

static int encode_thread ( AVCodecContext c,
void *  arg 
)
static

Definition at line 2974 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ merge_context_after_me()

static void merge_context_after_me ( MPVEncContext *const  dst,
MPVEncContext *const  src 
)
static

Definition at line 3607 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ merge_context_after_encode()

static void merge_context_after_encode ( MPVEncContext *const  dst,
MPVEncContext *const  src 
)
static

Definition at line 3614 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ estimate_qp()

static int estimate_qp ( MPVMainEncContext *const  m,
int  dry_run 
)
static

Definition at line 3642 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ set_frame_distances()

static void set_frame_distances ( MPVEncContext *const  s)
static

Definition at line 3681 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ build_basis()

static void build_basis ( uint8_t *  perm)
static

Definition at line 4276 of file mpegvideo_enc.c.

Referenced by dct_quantize_refine().

◆ ff_block_permute()

void ff_block_permute ( int16_t *  block,
const uint8_t *  permutation,
const uint8_t *  scantable,
int  last 
)

Permute an 8x8 block according to permutation.

Parameters
blockthe block which will be permuted according to the given permutation vector
permutationthe permutation vector
lastthe last non zero coefficient in scantable order, used to speed the permutation up
scantablethe used scantable, this is only used to speed the permutation up, the block is not (inverse) permutated to scantable order!

Definition at line 4622 of file mpegvideo_enc.c.

Referenced by dct_quantize_c(), dnxhd_10bit_dct_quantize(), and dnxhd_10bit_dct_quantize_444().

Variable Documentation

◆ default_fcode_tab

uint8_t default_fcode_tab[MAX_MV *2+1]
static

Definition at line 96 of file mpegvideo_enc.c.

Referenced by mpv_encode_defaults(), and mpv_encode_init_static().

◆ mpv_generic_options

const AVOption mpv_generic_options[]
static
Initial value:

Definition at line 98 of file mpegvideo_enc.c.

◆ ff_mpv_enc_class

const AVClass ff_mpv_enc_class
Initial value:
= {
.class_name = "generic mpegvideo encoder",
.item_name = av_default_item_name,
}

Definition at line 104 of file mpegvideo_enc.c.

◆ basis

int16_t basis[64][64]
static
FF_MPV_COMMON_MOTION_EST_OPTS
#define FF_MPV_COMMON_MOTION_EST_OPTS
Definition: mpegvideoenc.h:350
FF_MPV_COMMON_OPTS
#define FF_MPV_COMMON_OPTS
Definition: mpegvideoenc.h:309
AV_CODEC_FLAG_INTERLACED_DCT
#define AV_CODEC_FLAG_INTERLACED_DCT
Use interlaced DCT.
Definition: avcodec.h:310
s
#define s(width, name)
Definition: cbs_vp9.c:198
CHROMA_422
#define CHROMA_422
Definition: mpegvideo.h:310
LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
NULL
#define NULL
Definition: coverity.c:32
av_default_item_name
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:239
mpv_generic_options
static const AVOption mpv_generic_options[]
Definition: mpegvideo_enc.c:98
CHROMA_420
#define CHROMA_420
Definition: mpegvideo.h:309