Logo Search packages:      
Sourcecode: ffmpeg-debian version File versions

mpegvideo_enc.c File Reference

Detailed Description

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

Definition in file mpegvideo_enc.c.

#include "avcodec.h"
#include "dsputil.h"
#include "mpegvideo.h"
#include "mpegvideo_common.h"
#include "mjpegenc.h"
#include "msmpeg4.h"
#include "h263.h"
#include "faandct.h"
#include "aandcttab.h"
#include <limits.h>

Go to the source code of this file.


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


static void build_basis (uint8_t *perm)
static void clip_coeffs (MpegEncContext *s, DCTELEM *block, int last_index)
static void copy_context_after_encode (MpegEncContext *d, MpegEncContext *s, int type)
static void copy_context_before_encode (MpegEncContext *d, MpegEncContext *s, int type)
static void copy_picture_attributes (MpegEncContext *s, AVFrame *dst, AVFrame *src)
int dct_quantize_c (MpegEncContext *s, DCTELEM *block, int n, int qscale, int *overflow)
static int dct_quantize_refine (MpegEncContext *s, DCTELEM *block, int16_t *weight, DCTELEM *orig, int n, int qscale)
int dct_quantize_trellis_c (MpegEncContext *s, DCTELEM *block, int n, int qscale, int *overflow)
static void dct_single_coeff_elimination (MpegEncContext *s, int n, int threshold)
void denoise_dct_c (MpegEncContext *s, DCTELEM *block)
static av_always_inline void encode_mb (MpegEncContext *s, int motion_x, int motion_y)
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 av_always_inline void encode_mb_internal (MpegEncContext *s, int motion_x, int motion_y, int mb_block_height, int mb_block_count)
static int encode_picture (MpegEncContext *s, int picture_number)
static int encode_thread (AVCodecContext *c, void *arg)
static int estimate_best_b_count (MpegEncContext *s)
static int estimate_motion_thread (AVCodecContext *c, void *arg)
static int estimate_qp (MpegEncContext *s, int dry_run)
void ff_convert_matrix (DSPContext *dsp, int(*qmat)[64], uint16_t(*qmat16)[2][64], const uint16_t *quant_matrix, int bias, int qmin, int qmax, int intra)
void ff_write_quant_matrix (PutBitContext *pb, uint16_t *matrix)
static int get_intra_count (MpegEncContext *s, uint8_t *src, uint8_t *ref, int stride)
static int get_sae (uint8_t *src, int ref, int stride)
static void get_visual_weight (int16_t *weight, uint8_t *ptr, int stride)
static int load_input_picture (MpegEncContext *s, AVFrame *pic_arg)
static int mb_var_thread (AVCodecContext *c, void *arg)
static void merge_context_after_encode (MpegEncContext *dst, MpegEncContext *src)
static void merge_context_after_me (MpegEncContext *dst, MpegEncContext *src)
static void MPV_encode_defaults (MpegEncContext *s)
av_cold int MPV_encode_end (AVCodecContext *avctx)
av_cold int MPV_encode_init (AVCodecContext *avctx)
int MPV_encode_picture (AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data)
static int pre_estimate_motion_thread (AVCodecContext *c, void *arg)
static void select_input_picture (MpegEncContext *s)
static void set_frame_distances (MpegEncContext *s)
static int skip_check (MpegEncContext *s, Picture *p, Picture *ref)
static int sse (MpegEncContext *s, uint8_t *src1, uint8_t *src2, int w, int h, int stride)
static int sse_mb (MpegEncContext *s)
static void update_duplicate_context_after_me (MpegEncContext *dst, MpegEncContext *src)
static void update_qscale (MpegEncContext *s)
static void write_slice_end (MpegEncContext *s)


static int16_t basis [64][64]
static uint8_t default_fcode_tab [MAX_MV *2+1]
static uint8_t default_mv_penalty [MAX_FCODE+1][MAX_MV *2+1]
AVCodec flv_encoder
AVCodec h263_encoder
AVCodec h263p_encoder
AVCodec mpeg4_encoder
AVCodec msmpeg4v1_encoder
AVCodec msmpeg4v2_encoder
AVCodec msmpeg4v3_encoder
AVCodec rv10_encoder
AVCodec rv20_encoder
AVCodec wmv1_encoder

Generated by  Doxygen 1.6.0   Back to index