Libav
|
The simplest mpeg encoder (well, it was the simplest!). More...
#include <stdint.h>
#include "libavutil/internal.h"
#include "libavutil/intmath.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixdesc.h"
#include "libavutil/opt.h"
#include "libavutil/timer.h"
#include "avcodec.h"
#include "dct.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 "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 "libxvid.h"
#include <limits.h>
Go to the source code of this file.
Macros | |
#define | QUANT_BIAS_SHIFT 8 |
#define | QMAT_SHIFT_MMX 16 |
#define | QMAT_SHIFT 22 |
#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 |
Variables | |
static uint8_t | default_mv_penalty [MAX_FCODE+1][MAX_MV *2+1] |
static uint8_t | default_fcode_tab [MAX_MV *2+1] |
const AVOption | ff_mpv_generic_options [] |
static int16_t | basis [64][64] |
static const AVOption | h263_options [] |
static const AVClass | h263_class |
AVCodec | ff_h263_encoder |
static const AVOption | h263p_options [] |
static const AVClass | h263p_class |
AVCodec | ff_h263p_encoder |
static const AVClass | msmpeg4v2_class |
AVCodec | ff_msmpeg4v2_encoder |
static const AVClass | msmpeg4v3_class |
AVCodec | ff_msmpeg4v3_encoder |
static const AVClass | wmv1_class |
AVCodec | ff_wmv1_encoder |
The simplest mpeg encoder (well, it was the simplest!).
Definition in file mpegvideo_enc.c.
#define QUANT_BIAS_SHIFT 8 |
Definition at line 66 of file mpegvideo_enc.c.
Referenced by ff_convert_matrix(), ff_dct_quantize_c(), and ff_mpv_encode_init().
#define QMAT_SHIFT_MMX 16 |
Definition at line 68 of file mpegvideo_enc.c.
Referenced by ff_convert_matrix().
#define QMAT_SHIFT 22 |
Definition at line 69 of file mpegvideo_enc.c.
Referenced by dct_quantize_trellis_c(), ff_convert_matrix(), and ff_dct_quantize_c().
Referenced by update_duplicate_context_after_me().
Definition at line 3367 of file mpegvideo_enc.c.
Referenced by merge_context_after_encode(), and merge_context_after_me().
#define OFFSET | ( | x | ) | offsetof(MpegEncContext, x) |
Definition at line 4523 of file mpegvideo_enc.c.
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Definition at line 4524 of file mpegvideo_enc.c.
|
static |
Definition at line 3464 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_picture().
|
static |
Definition at line 4031 of file mpegvideo_enc.c.
Referenced by encode_mb_internal().
|
static |
Definition at line 2579 of file mpegvideo_enc.c.
Referenced by encode_mb_hq().
|
static |
Definition at line 3692 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_init().
|
static |
Definition at line 3716 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_init().
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 85 of file mpegvideo_enc.c.
Referenced by dnxhd_init_qmat(), encode_picture(), and ff_mpv_encode_init().
|
inlinestatic |
Definition at line 164 of file mpegvideo_enc.c.
Referenced by encode_mb_internal(), encode_picture(), and estimate_qp().
void ff_write_quant_matrix | ( | PutBitContext * | pb, |
uint16_t * | matrix | ||
) |
Definition at line 174 of file mpegvideo_enc.c.
Referenced by mpeg1_encode_sequence_header(), and mpeg4_encode_vol_header().
void ff_init_qscale_tab | ( | MpegEncContext * | s | ) |
init s->current_picture.qscale_table from s->lambda_table
Definition at line 190 of file mpegvideo_enc.c.
Referenced by estimate_qp(), and ff_clean_h263_qscales().
|
static |
Definition at line 203 of file mpegvideo_enc.c.
Referenced by encode_picture().
|
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 226 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_init().
av_cold int ff_mpv_encode_init | ( | AVCodecContext * | avctx | ) |
Definition at line 242 of file mpegvideo_enc.c.
Referenced by encode_init(), and wmv2_encode_init().
av_cold int ff_mpv_encode_end | ( | AVCodecContext * | avctx | ) |
Definition at line 984 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_init(), and mpeg12_class().
|
static |
Definition at line 1022 of file mpegvideo_enc.c.
Referenced by get_intra_count().
|
static |
Definition at line 1036 of file mpegvideo_enc.c.
Referenced by select_input_picture().
|
static |
Definition at line 1059 of file mpegvideo_enc.c.
Referenced by load_input_picture(), and select_input_picture().
|
static |
Definition at line 1067 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_picture().
|
static |
Definition at line 1208 of file mpegvideo_enc.c.
Referenced by select_input_picture().
|
static |
Definition at line 1245 of file mpegvideo_enc.c.
Referenced by estimate_best_b_count().
|
static |
Definition at line 1260 of file mpegvideo_enc.c.
Referenced by select_input_picture().
|
static |
Definition at line 1375 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_picture().
|
static |
Definition at line 1549 of file mpegvideo_enc.c.
Referenced by bethsoftvid_decode_frame(), bfi_decode_frame(), decode_bmv_frame(), decode_dds1(), decode_dsw1(), decode_tdlt(), decode_tsw1(), decode_wdlt(), ff_mpv_encode_picture(), and write_subframes().
|
static |
Definition at line 1605 of file mpegvideo_enc.c.
Referenced by frame_start().
|
static |
Definition at line 1626 of file mpegvideo_enc.c.
Referenced by decode_dds1(), decode_dsw1(), decode_tsw1(), and ff_mpv_encode_picture().
|
static |
Definition at line 1698 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_picture().
int ff_mpv_encode_picture | ( | AVCodecContext * | avctx, |
AVPacket * | pkt, | ||
const AVFrame * | pic_arg, | ||
int * | got_packet | ||
) |
Definition at line 1720 of file mpegvideo_enc.c.
Referenced by mpeg12_class().
|
inlinestatic |
Definition at line 1961 of file mpegvideo_enc.c.
Referenced by encode_mb_internal().
|
inlinestatic |
Definition at line 2017 of file mpegvideo_enc.c.
Referenced by encode_mb_internal().
Definition at line 2051 of file mpegvideo_enc.c.
Referenced by encode_mb_internal().
|
static |
Definition at line 2075 of file mpegvideo_enc.c.
Referenced by encode_mb().
|
static |
Definition at line 2434 of file mpegvideo_enc.c.
Referenced by encode_mb_hq(), and encode_thread().
|
inlinestatic |
Definition at line 2440 of file mpegvideo_enc.c.
Referenced by encode_mb_hq(), and encode_thread().
|
inlinestatic |
Definition at line 2468 of file mpegvideo_enc.c.
Referenced by encode_mb_hq(), and encode_thread().
|
inlinestatic |
Definition at line 2507 of file mpegvideo_enc.c.
Referenced by encode_thread().
|
static |
Definition at line 2558 of file mpegvideo_enc.c.
Referenced by block_sse(), encode_thread(), ff_vp9dsp_init_x86(), main(), and sse_mb().
|
static |
Definition at line 2602 of file mpegvideo_enc.c.
Referenced by encode_picture().
|
static |
Definition at line 2621 of file mpegvideo_enc.c.
Referenced by encode_picture().
|
static |
Definition at line 2646 of file mpegvideo_enc.c.
Referenced by encode_picture().
|
static |
Definition at line 2669 of file mpegvideo_enc.c.
Referenced by encode_thread().
|
static |
Definition at line 2687 of file mpegvideo_enc.c.
Referenced by update_mb_info().
|
static |
Definition at line 2707 of file mpegvideo_enc.c.
Referenced by encode_thread().
|
static |
Definition at line 2730 of file mpegvideo_enc.c.
Referenced by encode_picture().
|
static |
Definition at line 3368 of file mpegvideo_enc.c.
Referenced by encode_picture().
|
static |
Definition at line 3374 of file mpegvideo_enc.c.
Referenced by encode_picture().
|
static |
Definition at line 3406 of file mpegvideo_enc.c.
Referenced by encode_picture().
|
static |
Definition at line 3450 of file mpegvideo_enc.c.
Referenced by encode_picture().
Definition at line 4012 of file mpegvideo_enc.c.
Referenced by dct_quantize_refine().
|
static |
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 4417 of file mpegvideo_enc.c.
Referenced by ff_dct_quantize_c().
int ff_dct_quantize_c | ( | MpegEncContext * | s, |
int16_t * | block, | ||
int | n, | ||
int | qscale, | ||
int * | overflow | ||
) |
Definition at line 4442 of file mpegvideo_enc.c.
Referenced by dnxhd_encode_init(), encode_mb_internal(), and ff_mpv_encode_init().
Definition at line 77 of file mpegvideo_enc.c.
Referenced by mpv_encode_defaults().
Definition at line 78 of file mpegvideo_enc.c.
Referenced by mpv_encode_defaults().
const AVOption ff_mpv_generic_options[] |
Definition at line 80 of file mpegvideo_enc.c.
|
static |
Definition at line 4010 of file mpegvideo_enc.c.
Referenced by add_8x8basis(), and try_8x8basis().
|
static |
Definition at line 4525 of file mpegvideo_enc.c.
|
static |
Definition at line 4533 of file mpegvideo_enc.c.
AVCodec ff_h263_encoder |
Definition at line 4540 of file mpegvideo_enc.c.
|
static |
Definition at line 4553 of file mpegvideo_enc.c.
|
static |
Definition at line 4561 of file mpegvideo_enc.c.
AVCodec ff_h263p_encoder |
Definition at line 4568 of file mpegvideo_enc.c.
|
static |
Definition at line 4582 of file mpegvideo_enc.c.
AVCodec ff_msmpeg4v2_encoder |
Definition at line 4589 of file mpegvideo_enc.c.
|
static |
Definition at line 4602 of file mpegvideo_enc.c.
AVCodec ff_msmpeg4v3_encoder |
Definition at line 4609 of file mpegvideo_enc.c.
|
static |
Definition at line 4622 of file mpegvideo_enc.c.
AVCodec ff_wmv1_encoder |
Definition at line 4629 of file mpegvideo_enc.c.