FFmpeg
Macros | Functions | Variables
mpegvideo_enc.c File Reference
#include <stdint.h>
#include "libavutil/internal.h"
#include "libavutil/intmath.h"
#include "libavutil/mathematics.h"
#include "libavutil/mem_internal.h"
#include "libavutil/pixdesc.h"
#include "libavutil/opt.h"
#include "libavutil/thread.h"
#include "avcodec.h"
#include "dct.h"
#include "encode.h"
#include "idctdsp.h"
#include "mpeg12.h"
#include "mpegvideo.h"
#include "mpegvideodata.h"
#include "h261.h"
#include "h263.h"
#include "h263data.h"
#include "mjpegenc_common.h"
#include "mathops.h"
#include "mpegutils.h"
#include "mjpegenc.h"
#include "speedhqenc.h"
#include "msmpeg4.h"
#include "pixblockdsp.h"
#include "qpeldsp.h"
#include "faandct.h"
#include "thread.h"
#include "aandcttab.h"
#include "flv.h"
#include "mpeg4video.h"
#include "internal.h"
#include "bytestream.h"
#include "wmv2.h"
#include "rv10.h"
#include "packet_internal.h"
#include <limits.h>
#include "sp5x.h"

Go to the source code of this file.

Macros

#define QUANT_BIAS_SHIFT   8
 
#define QMAT_SHIFT_MMX   16
 
#define QMAT_SHIFT   21
 
#define COPY(a)   dst->a= src->a
 
#define MERGE(field)   dst->field += src->field; src->field=0
 
#define OFFSET(x)   offsetof(MpegEncContext, x)
 
#define VE   AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
 

Functions

static int encode_picture (MpegEncContext *s, int picture_number)
 
static int dct_quantize_refine (MpegEncContext *s, int16_t *block, int16_t *weight, int16_t *orig, int n, int qscale)
 
static int sse_mb (MpegEncContext *s)
 
static void denoise_dct_c (MpegEncContext *s, int16_t *block)
 
static int dct_quantize_trellis_c (MpegEncContext *s, int16_t *block, int n, int qscale, int *overflow)
 
void ff_convert_matrix (MpegEncContext *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 (MpegEncContext *s)
 
void ff_write_quant_matrix (PutBitContext *pb, uint16_t *matrix)
 
void ff_init_qscale_tab (MpegEncContext *s)
 init s->current_picture.qscale_table from s->lambda_table More...
 
static void update_duplicate_context_after_me (MpegEncContext *dst, MpegEncContext *src)
 
static void mpv_encode_init_static (void)
 
static void mpv_encode_defaults (MpegEncContext *s)
 Set the given MpegEncContext to defaults for encoding. More...
 
av_cold int ff_dct_encode_init (MpegEncContext *s)
 
av_cold int ff_mpv_encode_init (AVCodecContext *avctx)
 
av_cold int ff_mpv_encode_end (AVCodecContext *avctx)
 
static int get_sae (uint8_t *src, int ref, int stride)
 
static int get_intra_count (MpegEncContext *s, uint8_t *src, uint8_t *ref, int stride)
 
static int alloc_picture (MpegEncContext *s, Picture *pic, int shared)
 
static int load_input_picture (MpegEncContext *s, const AVFrame *pic_arg)
 
static int skip_check (MpegEncContext *s, Picture *p, Picture *ref)
 
static int encode_frame (AVCodecContext *c, AVFrame *frame, AVPacket *pkt)
 
static int estimate_best_b_count (MpegEncContext *s)
 
static int select_input_picture (MpegEncContext *s)
 
static void frame_end (MpegEncContext *s)
 
static void update_noise_reduction (MpegEncContext *s)
 
static int frame_start (MpegEncContext *s)
 
int ff_mpv_encode_picture (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pic_arg, int *got_packet)
 
static void dct_single_coeff_elimination (MpegEncContext *s, int n, int threshold)
 
static void clip_coeffs (MpegEncContext *s, int16_t *block, int last_index)
 
static void get_visual_weight (int16_t *weight, uint8_t *ptr, int stride)
 
static av_always_inline void encode_mb_internal (MpegEncContext *s, int motion_x, int motion_y, int mb_block_height, int mb_block_width, int mb_block_count)
 
static av_always_inline void encode_mb (MpegEncContext *s, int motion_x, int motion_y)
 
static void copy_context_before_encode (MpegEncContext *d, MpegEncContext *s, int type)
 
static void copy_context_after_encode (MpegEncContext *d, MpegEncContext *s, int type)
 
static void encode_mb_hq (MpegEncContext *s, MpegEncContext *backup, MpegEncContext *best, int type, PutBitContext pb[2], PutBitContext pb2[2], PutBitContext tex_pb[2], int *dmin, int *next_block, int motion_x, int motion_y)
 
static int sse (MpegEncContext *s, uint8_t *src1, 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 (MpegEncContext *s)
 
static void write_mb_info (MpegEncContext *s)
 
static void update_mb_info (MpegEncContext *s, int startcode)
 
int ff_mpv_reallocate_putbitbuffer (MpegEncContext *s, size_t threshold, size_t size_increase)
 
static int encode_thread (AVCodecContext *c, void *arg)
 
static void merge_context_after_me (MpegEncContext *dst, MpegEncContext *src)
 
static void merge_context_after_encode (MpegEncContext *dst, MpegEncContext *src)
 
static int estimate_qp (MpegEncContext *s, int dry_run)
 
static void set_frame_distances (MpegEncContext *s)
 
static void build_basis (uint8_t *perm)
 
void ff_block_permute (int16_t *block, uint8_t *permutation, const uint8_t *scantable, int last)
 Permute an 8x8 block according to permutation. More...
 
int ff_dct_quantize_c (MpegEncContext *s, int16_t *block, int n, int qscale, int *overflow)
 

Variables

static uint8_t default_mv_penalty [MAX_FCODE+1][MAX_DMV *2+1]
 
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]
 
static const AVOption h263_options []
 
static const AVClass h263_class
 
const AVCodec ff_h263_encoder
 
static const AVOption h263p_options []
 
static const AVClass h263p_class
 
const AVCodec ff_h263p_encoder
 
const AVCodec ff_msmpeg4v2_encoder
 
const AVCodec ff_msmpeg4v3_encoder
 
const AVCodec ff_wmv1_encoder
 

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 74 of file mpegvideo_enc.c.

◆ QMAT_SHIFT_MMX

#define QMAT_SHIFT_MMX   16

Definition at line 76 of file mpegvideo_enc.c.

◆ QMAT_SHIFT

#define QMAT_SHIFT   21

Definition at line 77 of file mpegvideo_enc.c.

◆ COPY

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

◆ MERGE

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

Definition at line 3419 of file mpegvideo_enc.c.

◆ OFFSET

#define OFFSET (   x)    offsetof(MpegEncContext, x)

Definition at line 4589 of file mpegvideo_enc.c.

◆ VE

Definition at line 4590 of file mpegvideo_enc.c.

Function Documentation

◆ encode_picture()

static int encode_picture ( MpegEncContext s,
int  picture_number 
)
static

Definition at line 3510 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_picture().

◆ dct_quantize_refine()

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

Definition at line 4154 of file mpegvideo_enc.c.

Referenced by encode_mb_internal().

◆ sse_mb()

static int sse_mb ( MpegEncContext s)
static

Definition at line 2592 of file mpegvideo_enc.c.

Referenced by encode_mb_hq().

◆ denoise_dct_c()

static void denoise_dct_c ( MpegEncContext s,
int16_t *  block 
)
static

Definition at line 3796 of file mpegvideo_enc.c.

Referenced by ff_dct_encode_init().

◆ dct_quantize_trellis_c()

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

Definition at line 3820 of file mpegvideo_enc.c.

Referenced by ff_dct_encode_init().

◆ ff_convert_matrix()

void ff_convert_matrix ( MpegEncContext 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 106 of file mpegvideo_enc.c.

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

◆ update_qscale()

static void update_qscale ( MpegEncContext s)
inlinestatic

Definition at line 190 of file mpegvideo_enc.c.

Referenced by encode_mb_internal(), encode_picture(), and estimate_qp().

◆ ff_write_quant_matrix()

void ff_write_quant_matrix ( PutBitContext pb,
uint16_t *  matrix 
)

Definition at line 218 of file mpegvideo_enc.c.

Referenced by mpeg4_encode_vol_header().

◆ ff_init_qscale_tab()

void ff_init_qscale_tab ( MpegEncContext s)

init s->current_picture.qscale_table from s->lambda_table

Definition at line 234 of file mpegvideo_enc.c.

Referenced by estimate_qp(), and ff_clean_h263_qscales().

◆ update_duplicate_context_after_me()

static void update_duplicate_context_after_me ( MpegEncContext dst,
MpegEncContext src 
)
static

Definition at line 247 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ mpv_encode_init_static()

static void mpv_encode_init_static ( void  )
static

Definition at line 266 of file mpegvideo_enc.c.

Referenced by mpv_encode_defaults().

◆ mpv_encode_defaults()

static void mpv_encode_defaults ( MpegEncContext s)
static

Set the given MpegEncContext to defaults for encoding.

the changed fields will not depend upon the prior state of the MpegEncContext.

Definition at line 276 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_init().

◆ ff_dct_encode_init()

av_cold int ff_dct_encode_init ( MpegEncContext s)

Definition at line 291 of file mpegvideo_enc.c.

Referenced by dnxhd_encode_init(), and ff_mpv_encode_init().

◆ ff_mpv_encode_init()

av_cold int ff_mpv_encode_init ( AVCodecContext avctx)

Definition at line 310 of file mpegvideo_enc.c.

Referenced by encode_init(), and wmv2_encode_init().

◆ ff_mpv_encode_end()

av_cold int ff_mpv_encode_end ( AVCodecContext avctx)

Definition at line 965 of file mpegvideo_enc.c.

◆ get_sae()

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

Definition at line 1001 of file mpegvideo_enc.c.

Referenced by get_intra_count().

◆ get_intra_count()

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

Definition at line 1015 of file mpegvideo_enc.c.

Referenced by select_input_picture().

◆ alloc_picture()

static int alloc_picture ( MpegEncContext s,
Picture pic,
int  shared 
)
static

Definition at line 1038 of file mpegvideo_enc.c.

Referenced by load_input_picture(), and select_input_picture().

◆ load_input_picture()

static int load_input_picture ( MpegEncContext s,
const AVFrame pic_arg 
)
static

Definition at line 1046 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_picture().

◆ skip_check()

static int skip_check ( MpegEncContext s,
Picture p,
Picture ref 
)
static

Definition at line 1197 of file mpegvideo_enc.c.

Referenced by select_input_picture().

◆ encode_frame()

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

Definition at line 1238 of file mpegvideo_enc.c.

Referenced by estimate_best_b_count().

◆ estimate_best_b_count()

static int estimate_best_b_count ( MpegEncContext s)
static

Definition at line 1259 of file mpegvideo_enc.c.

Referenced by select_input_picture().

◆ select_input_picture()

static int select_input_picture ( MpegEncContext s)
static

Definition at line 1406 of file mpegvideo_enc.c.

Referenced by ff_mpv_encode_picture().

◆ frame_end()

static void frame_end ( MpegEncContext s)
static

◆ update_noise_reduction()

static void update_noise_reduction ( MpegEncContext s)
static

Definition at line 1620 of file mpegvideo_enc.c.

Referenced by frame_start().

◆ frame_start()

static int frame_start ( MpegEncContext s)
static

◆ ff_mpv_encode_picture()

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

Definition at line 1712 of file mpegvideo_enc.c.

◆ dct_single_coeff_elimination()

static void dct_single_coeff_elimination ( MpegEncContext s,
int  n,
int  threshold 
)
inlinestatic

Definition at line 1947 of file mpegvideo_enc.c.

Referenced by encode_mb_internal().

◆ clip_coeffs()

static void clip_coeffs ( MpegEncContext s,
int16_t *  block,
int  last_index 
)
inlinestatic

Definition at line 2003 of file mpegvideo_enc.c.

Referenced by encode_mb_internal().

◆ get_visual_weight()

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

Definition at line 2037 of file mpegvideo_enc.c.

Referenced by encode_mb_internal().

◆ encode_mb_internal()

static av_always_inline void encode_mb_internal ( MpegEncContext s,
int  motion_x,
int  motion_y,
int  mb_block_height,
int  mb_block_width,
int  mb_block_count 
)
static

Definition at line 2061 of file mpegvideo_enc.c.

Referenced by encode_mb().

◆ encode_mb()

static av_always_inline void encode_mb ( MpegEncContext s,
int  motion_x,
int  motion_y 
)
static

Definition at line 2446 of file mpegvideo_enc.c.

Referenced by encode_mb_hq(), and encode_thread().

◆ copy_context_before_encode()

static void copy_context_before_encode ( MpegEncContext d,
MpegEncContext s,
int  type 
)
inlinestatic

Definition at line 2453 of file mpegvideo_enc.c.

Referenced by encode_mb_hq(), and encode_thread().

◆ copy_context_after_encode()

static void copy_context_after_encode ( MpegEncContext d,
MpegEncContext s,
int  type 
)
inlinestatic

Definition at line 2481 of file mpegvideo_enc.c.

Referenced by encode_mb_hq(), and encode_thread().

◆ encode_mb_hq()

static void encode_mb_hq ( MpegEncContext s,
MpegEncContext backup,
MpegEncContext best,
int  type,
PutBitContext  pb[2],
PutBitContext  pb2[2],
PutBitContext  tex_pb[2],
int dmin,
int next_block,
int  motion_x,
int  motion_y 
)
inlinestatic

Definition at line 2520 of file mpegvideo_enc.c.

Referenced by encode_thread().

◆ sse()

static int sse ( MpegEncContext s,
uint8_t *  src1,
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 2615 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 2634 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 2659 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ write_slice_end()

static void write_slice_end ( MpegEncContext s)
static

Definition at line 2682 of file mpegvideo_enc.c.

Referenced by encode_thread().

◆ write_mb_info()

static void write_mb_info ( MpegEncContext s)
static

Definition at line 2702 of file mpegvideo_enc.c.

Referenced by update_mb_info().

◆ update_mb_info()

static void update_mb_info ( MpegEncContext s,
int  startcode 
)
static

Definition at line 2722 of file mpegvideo_enc.c.

Referenced by encode_thread().

◆ ff_mpv_reallocate_putbitbuffer()

int ff_mpv_reallocate_putbitbuffer ( MpegEncContext s,
size_t  threshold,
size_t  size_increase 
)

Definition at line 2745 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 2781 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ merge_context_after_me()

static void merge_context_after_me ( MpegEncContext dst,
MpegEncContext src 
)
static

Definition at line 3420 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ merge_context_after_encode()

static void merge_context_after_encode ( MpegEncContext dst,
MpegEncContext src 
)
static

Definition at line 3426 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ estimate_qp()

static int estimate_qp ( MpegEncContext s,
int  dry_run 
)
static

Definition at line 3458 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ set_frame_distances()

static void set_frame_distances ( MpegEncContext s)
static

Definition at line 3496 of file mpegvideo_enc.c.

Referenced by encode_picture().

◆ build_basis()

static void build_basis ( uint8_t *  perm)
static

Definition at line 4135 of file mpegvideo_enc.c.

Referenced by dct_quantize_refine().

◆ ff_block_permute()

void ff_block_permute ( int16_t *  block,
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 4481 of file mpegvideo_enc.c.

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

◆ ff_dct_quantize_c()

int ff_dct_quantize_c ( MpegEncContext s,
int16_t *  block,
int  n,
int  qscale,
int overflow 
)

Definition at line 4506 of file mpegvideo_enc.c.

Referenced by dnxhd_encode_init(), encode_mb_internal(), and ff_dct_encode_init().

Variable Documentation

◆ default_mv_penalty

uint8_t default_mv_penalty[MAX_FCODE+1][MAX_DMV *2+1]
static

Definition at line 85 of file mpegvideo_enc.c.

Referenced by mpv_encode_defaults().

◆ default_fcode_tab

uint8_t default_fcode_tab[MAX_MV *2+1]
static

Definition at line 86 of file mpegvideo_enc.c.

Referenced by mpv_encode_defaults(), and mpv_encode_init_static().

◆ mpv_generic_options

const AVOption mpv_generic_options[]
static

◆ 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 99 of file mpegvideo_enc.c.

◆ basis

int16_t basis[64][64]
static

◆ h263_options

const AVOption h263_options[]
static
Initial value:
= {
{ "obmc", "use overlapped block motion compensation.", OFFSET(obmc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE },
{ "mb_info", "emit macroblock info for RFC 2190 packetization, the parameter value is the maximum payload size", OFFSET(mb_info), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE },
{ NULL },
}

Definition at line 4591 of file mpegvideo_enc.c.

◆ h263_class

const AVClass h263_class
static
Initial value:
= {
.class_name = "H.263 encoder",
.item_name = av_default_item_name,
.option = h263_options,
}

Definition at line 4604 of file mpegvideo_enc.c.

◆ ff_h263_encoder

const AVCodec ff_h263_encoder
Initial value:
= {
.name = "h263",
.long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996"),
.priv_data_size = sizeof(MpegEncContext),
.priv_class = &h263_class,
}

Definition at line 4611 of file mpegvideo_enc.c.

◆ h263p_options

const AVOption h263p_options[]
static
Initial value:
= {
{ "umv", "Use unlimited motion vectors.", OFFSET(umvplus), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE },
{ "aiv", "Use alternative inter VLC.", OFFSET(alt_inter_vlc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE },
{ "obmc", "use overlapped block motion compensation.", OFFSET(obmc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE },
{ "structured_slices", "Write slice start position at every GOB header instead of just GOB number.", OFFSET(h263_slice_structured), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE},
{ NULL },
}

Definition at line 4625 of file mpegvideo_enc.c.

◆ h263p_class

const AVClass h263p_class
static
Initial value:
= {
.class_name = "H.263p encoder",
.item_name = av_default_item_name,
.option = h263p_options,
}

Definition at line 4639 of file mpegvideo_enc.c.

◆ ff_h263p_encoder

const AVCodec ff_h263p_encoder
Initial value:
= {
.name = "h263p",
.long_name = NULL_IF_CONFIG_SMALL("H.263+ / H.263-1998 / H.263 version 2"),
.priv_data_size = sizeof(MpegEncContext),
.capabilities = AV_CODEC_CAP_SLICE_THREADS,
.priv_class = &h263p_class,
}

Definition at line 4646 of file mpegvideo_enc.c.

◆ ff_msmpeg4v2_encoder

const AVCodec ff_msmpeg4v2_encoder
Initial value:
= {
.name = "msmpeg4v2",
.long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"),
.priv_class = &ff_mpv_enc_class,
.priv_data_size = sizeof(MpegEncContext),
}

Definition at line 4661 of file mpegvideo_enc.c.

◆ ff_msmpeg4v3_encoder

const AVCodec ff_msmpeg4v3_encoder
Initial value:
= {
.name = "msmpeg4",
.long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"),
.priv_class = &ff_mpv_enc_class,
.priv_data_size = sizeof(MpegEncContext),
}

Definition at line 4675 of file mpegvideo_enc.c.

◆ ff_wmv1_encoder

const AVCodec ff_wmv1_encoder
Initial value:
= {
.name = "wmv1",
.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 7"),
.priv_class = &ff_mpv_enc_class,
.priv_data_size = sizeof(MpegEncContext),
}

Definition at line 4689 of file mpegvideo_enc.c.

FF_MPV_DEPRECATED_A53_CC_OPT
#define FF_MPV_DEPRECATED_A53_CC_OPT
Definition: mpegvideo.h:664
FF_CODEC_CAP_INIT_THREADSAFE
#define FF_CODEC_CAP_INIT_THREADSAFE
The codec does not modify any global variables in the init function, allowing to call the init functi...
Definition: internal.h:42
AVPixelFormat
AVPixelFormat
Pixel format.
Definition: pixfmt.h:64
ff_mpv_enc_class
const AVClass ff_mpv_enc_class
Definition: mpegvideo_enc.c:99
init
static int init
Definition: av_tx.c:47
ff_mpv_encode_picture
int ff_mpv_encode_picture(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pic_arg, int *got_packet)
Definition: mpegvideo_enc.c:1712
OFFSET
#define OFFSET(x)
Definition: mpegvideo_enc.c:4589
AV_CODEC_ID_MSMPEG4V2
@ AV_CODEC_ID_MSMPEG4V2
Definition: codec_id.h:65
h263_options
static const AVOption h263_options[]
Definition: mpegvideo_enc.c:4591
pix_fmts
static enum AVPixelFormat pix_fmts[]
Definition: libkvazaar.c:296
AV_PIX_FMT_YUV420P
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition: pixfmt.h:66
h263_class
static const AVClass h263_class
Definition: mpegvideo_enc.c:4604
LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
NULL
#define NULL
Definition: coverity.c:32
FF_MPV_DEPRECATED_BFRAME_OPTS
#define FF_MPV_DEPRECATED_BFRAME_OPTS
Definition: mpegvideo.h:668
av_default_item_name
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:235
FF_MPV_DEPRECATED_MPEG_QUANT_OPT
#define FF_MPV_DEPRECATED_MPEG_QUANT_OPT
Definition: mpegvideo.h:662
ff_mpv_encode_end
av_cold int ff_mpv_encode_end(AVCodecContext *avctx)
Definition: mpegvideo_enc.c:965
AV_CODEC_ID_WMV1
@ AV_CODEC_ID_WMV1
Definition: codec_id.h:67
VE
#define VE
Definition: mpegvideo_enc.c:4590
NULL_IF_CONFIG_SMALL
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition: internal.h:117
AV_CODEC_ID_H263
@ AV_CODEC_ID_H263
Definition: codec_id.h:54
mpv_generic_options
static const AVOption mpv_generic_options[]
Definition: mpegvideo_enc.c:88
AV_CODEC_CAP_SLICE_THREADS
#define AV_CODEC_CAP_SLICE_THREADS
Codec supports slice-based (or partition-based) multithreading.
Definition: codec.h:117
FF_CODEC_CAP_INIT_CLEANUP
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
Definition: internal.h:50
FF_MPV_DEPRECATED_MATRIX_OPT
#define FF_MPV_DEPRECATED_MATRIX_OPT
Definition: mpegvideo.h:666
h263p_class
static const AVClass h263p_class
Definition: mpegvideo_enc.c:4639
AV_CODEC_ID_H263P
@ AV_CODEC_ID_H263P
Definition: codec_id.h:69
AV_PIX_FMT_NONE
@ AV_PIX_FMT_NONE
Definition: pixfmt.h:65
AV_OPT_TYPE_INT
@ AV_OPT_TYPE_INT
Definition: opt.h:224
AVMEDIA_TYPE_VIDEO
@ AVMEDIA_TYPE_VIDEO
Definition: avutil.h:201
ff_mpv_encode_init
av_cold int ff_mpv_encode_init(AVCodecContext *avctx)
Definition: mpegvideo_enc.c:310
AV_OPT_TYPE_BOOL
@ AV_OPT_TYPE_BOOL
Definition: opt.h:241
AV_CODEC_ID_MSMPEG4V3
@ AV_CODEC_ID_MSMPEG4V3
Definition: codec_id.h:66
FF_MPV_COMMON_OPTS
#define FF_MPV_COMMON_OPTS
Definition: mpegvideo.h:609
MpegEncContext
MpegEncContext.
Definition: mpegvideo.h:71
mb_info
Definition: cinepakenc.c:88
h263p_options
static const AVOption h263p_options[]
Definition: mpegvideo_enc.c:4625