FFmpeg
|
#include <float.h>
#include "libavutil/avassert.h"
#include "libavutil/opt.h"
#include "fdctdsp.h"
#include "motion_est.h"
#include "mpegvideo.h"
#include "mpegvideoencdsp.h"
#include "pixblockdsp.h"
#include "put_bits.h"
#include "ratecontrol.h"
Go to the source code of this file.
Data Structures | |
struct | MPVEncContext |
struct | MPVMainEncContext |
Functions | |
static const MPVMainEncContext * | slice_to_mainenc (const MPVEncContext *s) |
int | ff_mpv_encode_init (AVCodecContext *avctx) |
int | ff_mpv_encode_end (AVCodecContext *avctx) |
int | ff_mpv_encode_picture (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet) |
int | ff_mpv_reallocate_putbitbuffer (MPVEncContext *s, size_t threshold, size_t size_increase) |
void | ff_write_quant_matrix (PutBitContext *pb, uint16_t *matrix) |
void | ff_dct_encode_init (MPVEncContext *s) |
void | ff_mpvenc_dct_init_mips (MPVEncContext *s) |
void | ff_dct_encode_init_x86 (MPVEncContext *s) |
void | ff_convert_matrix (MPVEncContext *s, int(*qmat)[64], uint16_t(*qmat16)[2][64], const uint16_t *quant_matrix, int bias, int qmin, int qmax, int intra) |
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... | |
static int | get_bits_diff (MPVEncContext *s) |
Variables | |
const AVClass | ff_mpv_enc_class |
mpegvideo header.
Definition in file mpegvideoenc.h.
#define MPVENC_MAX_B_FRAMES 16 |
Definition at line 43 of file mpegvideoenc.h.
#define MAX_FCODE 7 |
Definition at line 258 of file mpegvideoenc.h.
Definition at line 259 of file mpegvideoenc.h.
#define INPLACE_OFFSET 16 |
Definition at line 260 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_INTRA (1 << 0) |
Definition at line 263 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_INTER (1 << 1) |
Definition at line 264 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_INTER4V (1 << 2) |
Definition at line 265 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_SKIPPED (1 << 3) |
Definition at line 266 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_DIRECT (1 << 4) |
Definition at line 268 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_FORWARD (1 << 5) |
Definition at line 269 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_BACKWARD (1 << 6) |
Definition at line 270 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_BIDIR (1 << 7) |
Definition at line 271 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_INTER_I (1 << 8) |
Definition at line 273 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_FORWARD_I (1 << 9) |
Definition at line 274 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_BACKWARD_I (1 << 10) |
Definition at line 275 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_BIDIR_I (1 << 11) |
Definition at line 276 of file mpegvideoenc.h.
#define CANDIDATE_MB_TYPE_DIRECT0 (1 << 12) |
Definition at line 278 of file mpegvideoenc.h.
#define FF_MPV_FLAG_SKIP_RD 0x0001 |
Definition at line 281 of file mpegvideoenc.h.
#define FF_MPV_FLAG_STRICT_GOP 0x0002 |
Definition at line 282 of file mpegvideoenc.h.
#define FF_MPV_FLAG_QP_RD 0x0004 |
Definition at line 283 of file mpegvideoenc.h.
#define FF_MPV_FLAG_CBP_RD 0x0008 |
Definition at line 284 of file mpegvideoenc.h.
#define FF_MPV_FLAG_NAQ 0x0010 |
Definition at line 285 of file mpegvideoenc.h.
#define FF_MPV_FLAG_MV0 0x0020 |
Definition at line 286 of file mpegvideoenc.h.
#define FF_MPV_OPT_CMP_FUNC |
Definition at line 288 of file mpegvideoenc.h.
#define FF_MPV_OFFSET | ( | x | ) | offsetof(MPVEncContext, x) |
Definition at line 305 of file mpegvideoenc.h.
#define FF_MPV_MAIN_OFFSET | ( | x | ) | offsetof(MPVMainEncContext, x) |
Definition at line 306 of file mpegvideoenc.h.
#define FF_RC_OFFSET | ( | x | ) | offsetof(MPVMainEncContext, rc_context.x) |
Definition at line 307 of file mpegvideoenc.h.
#define FF_MPV_OPT_FLAGS (AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM) |
Definition at line 308 of file mpegvideoenc.h.
#define FF_MPV_COMMON_OPTS |
Definition at line 309 of file mpegvideoenc.h.
#define FF_MPV_COMMON_BFRAME_OPTS |
Definition at line 345 of file mpegvideoenc.h.
#define FF_MPV_COMMON_MOTION_EST_OPTS |
Definition at line 350 of file mpegvideoenc.h.
|
inlinestatic |
Definition at line 247 of file mpegvideoenc.h.
Referenced by ff_msmpeg4_encode_ext_header(), and mpeg4_encode_mb().
int ff_mpv_encode_init | ( | AVCodecContext * | avctx | ) |
Definition at line 544 of file mpegvideo_enc.c.
Referenced by encode_init(), h261_encode_init(), mjpeg_encode_init(), speedhq_encode_init(), and wmv2_encode_init().
int ff_mpv_encode_end | ( | AVCodecContext * | avctx | ) |
Definition at line 1104 of file mpegvideo_enc.c.
Referenced by mjpeg_encode_close().
int ff_mpv_encode_picture | ( | AVCodecContext * | avctx, |
AVPacket * | pkt, | ||
const AVFrame * | frame, | ||
int * | got_packet | ||
) |
Definition at line 1926 of file mpegvideo_enc.c.
int ff_mpv_reallocate_putbitbuffer | ( | MPVEncContext * | 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().
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().
void ff_dct_encode_init | ( | MPVEncContext * | s | ) |
Definition at line 301 of file mpegvideo_enc.c.
Referenced by dnxhd_encode_init(), and ff_mpv_encode_init().
void ff_mpvenc_dct_init_mips | ( | MPVEncContext * | s | ) |
Definition at line 26 of file mpegvideoenc_init_mips.c.
Referenced by ff_dct_encode_init().
void ff_dct_encode_init_x86 | ( | MPVEncContext * | s | ) |
Definition at line 122 of file mpegvideoenc.c.
Referenced by ff_dct_encode_init().
void ff_convert_matrix | ( | MPVEncContext * | 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().
void ff_block_permute | ( | int16_t * | block, |
const uint8_t * | permutation, | ||
const uint8_t * | scantable, | ||
int | last | ||
) |
Permute an 8x8 block according to permutation.
block | the block which will be permuted according to the given permutation vector |
permutation | the permutation vector |
last | the last non zero coefficient in scantable order, used to speed the permutation up |
scantable | the 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().
|
inlinestatic |
Definition at line 382 of file mpegvideoenc.h.
Referenced by mjpeg_encode_mb(), mpeg4_encode_mb(), msmpeg4_encode_mb(), speedhq_encode_mb(), wmv2_encode_mb(), and write_slice_end().
const AVClass ff_mpv_enc_class |
Definition at line 104 of file mpegvideo_enc.c.