Logo Search packages:      
Sourcecode: blender version File versions

mpegvideo.c File Reference


Detailed Description

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

Definition in file mpegvideo.c.

#include "avcodec.h"
#include "dsputil.h"
#include "mpegvideo.h"
#include "faandct.h"
#include <limits.h>

Go to the source code of this file.

Defines

#define COLOR(theta, r)
#define CONST_BITS   14
#define COPY(a)   dst->a= src->a
#define COPY(a)   bak->a= src->a
#define MID   0
#define OBMC_FILTER(x, t, l, m, r, b)   dst[x]= (t*top[x] + l*left[x] + m*mid[x] + r*right[x] + b*bottom[x] + 4)>>3
#define OBMC_FILTER4(x, t, l, m, r, b)

Functions

static void add_dct (MpegEncContext *s, DCTELEM *block, int i, uint8_t *dest, int line_size)
static void add_dequant_dct (MpegEncContext *s, DCTELEM *block, int i, uint8_t *dest, int line_size, int qscale)
static int alloc_picture (MpegEncContext *s, Picture *pic, int shared)
static void backup_duplicate_context (MpegEncContext *bak, MpegEncContext *src)
static void chroma_4mv_motion (MpegEncContext *s, uint8_t *dest_cb, uint8_t *dest_cr, uint8_t **ref_picture, op_pixels_func *pix_op, int mx, int my)
static void chroma_4mv_motion_lowres (MpegEncContext *s, uint8_t *dest_cb, uint8_t *dest_cr, uint8_t **ref_picture, h264_chroma_mc_func *pix_op, int mx, int my)
static void copy_picture (Picture *dst, Picture *src)
static void copy_picture_attributes (MpegEncContext *s, AVFrame *dst, AVFrame *src)
int DCT_common_init (MpegEncContext *s)
static void dct_unquantize_h263_inter_c (MpegEncContext *s, DCTELEM *block, int n, int qscale)
static void dct_unquantize_h263_intra_c (MpegEncContext *s, DCTELEM *block, int n, int qscale)
static void dct_unquantize_mpeg1_inter_c (MpegEncContext *s, DCTELEM *block, int n, int qscale)
static void dct_unquantize_mpeg1_intra_c (MpegEncContext *s, DCTELEM *block, int n, int qscale)
static void dct_unquantize_mpeg2_inter_c (MpegEncContext *s, DCTELEM *block, int n, int qscale)
static void dct_unquantize_mpeg2_intra_bitexact (MpegEncContext *s, DCTELEM *block, int n, int qscale)
static void dct_unquantize_mpeg2_intra_c (MpegEncContext *s, DCTELEM *block, int n, int qscale)
static void denoise_dct_c (MpegEncContext *s, DCTELEM *block)
static void draw_arrow (uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h, int stride, int color)
static void draw_edges_c (uint8_t *buf, int wrap, int width, int height, int w)
static void draw_line (uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h, int stride, int color)
void ff_clean_intra_table_entries (MpegEncContext *s)
void ff_draw_horiz_band (MpegEncContext *s, int y, int h)
void ff_emulated_edge_mc (uint8_t *buf, uint8_t *src, int linesize, int block_w, int block_h, int src_x, int src_y, int w, int h)
const uint8_t * ff_find_start_code (const uint8_t *restrict p, const uint8_t *end, uint32_t *restrict state)
int ff_find_unused_picture (MpegEncContext *s, int shared)
int ff_h263_round_chroma (int x)
void ff_init_block_index (MpegEncContext *s)
void ff_init_scantable (uint8_t *permutation, ScanTable *st, const uint8_t *src_scantable)
void ff_mpeg_flush (AVCodecContext *avctx)
void ff_print_debug_info (MpegEncContext *s, AVFrame *pict)
void ff_update_duplicate_context (MpegEncContext *dst, MpegEncContext *src)
static void free_duplicate_context (MpegEncContext *s)
static void free_picture (MpegEncContext *s, Picture *pic)
static void gmc1_motion (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, uint8_t **ref_picture)
static void gmc_motion (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, uint8_t **ref_picture)
static int hpel_motion (MpegEncContext *s, uint8_t *dest, uint8_t *src, int field_based, int field_select, int src_x, int src_y, int width, int height, int stride, int h_edge_pos, int v_edge_pos, int w, int h, op_pixels_func *pix_op, int motion_x, int motion_y)
static int hpel_motion_lowres (MpegEncContext *s, uint8_t *dest, uint8_t *src, int field_based, int field_select, int src_x, int src_y, int width, int height, int stride, int h_edge_pos, int v_edge_pos, int w, int h, h264_chroma_mc_func *pix_op, int motion_x, int motion_y)
static int init_duplicate_context (MpegEncContext *s, MpegEncContext *base)
void init_rl (RLTable *rl, int use_static)
static always_inline void mpeg_motion (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int field_based, int bottom_field, int field_select, uint8_t **ref_picture, op_pixels_func(*pix_op)[4], int motion_x, int motion_y, int h)
static always_inline void mpeg_motion_lowres (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int field_based, int bottom_field, int field_select, uint8_t **ref_picture, h264_chroma_mc_func *pix_op, int motion_x, int motion_y, int h)
static void MPV_common_defaults (MpegEncContext *s)
void MPV_common_end (MpegEncContext *s)
int MPV_common_init (MpegEncContext *s)
void MPV_decode_defaults (MpegEncContext *s)
void MPV_decode_mb (MpegEncContext *s, DCTELEM block[12][64])
static always_inline void MPV_decode_mb_internal (MpegEncContext *s, DCTELEM block[12][64], int lowres_flag)
void MPV_frame_end (MpegEncContext *s)
int MPV_frame_start (MpegEncContext *s, AVCodecContext *avctx)
static void MPV_motion (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int dir, uint8_t **ref_picture, op_pixels_func(*pix_op)[4], qpel_mc_func(*qpix_op)[16])
static void MPV_motion_lowres (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int dir, uint8_t **ref_picture, h264_chroma_mc_func *pix_op)
static void obmc_motion (MpegEncContext *s, uint8_t *dest, uint8_t *src, int src_x, int src_y, op_pixels_func *pix_op, int16_t mv[5][2])
static void prefetch_motion (MpegEncContext *s, uint8_t **pix, int dir)
static void put_dct (MpegEncContext *s, DCTELEM *block, int i, uint8_t *dest, int line_size, int qscale)
static void put_obmc (uint8_t *dst, uint8_t *src[5], int stride)
static void qpel_motion (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int field_based, int bottom_field, int field_select, uint8_t **ref_picture, op_pixels_func(*pix_op)[4], qpel_mc_func(*qpix_op)[16], int motion_x, int motion_y, int h)
static void update_duplicate_context_after_me (MpegEncContext *dst, MpegEncContext *src)
static void update_noise_reduction (MpegEncContext *s)

Variables

static const uint16_t aanscales [64]
void(* draw_edges )(uint8_t *buf, int wrap, int width, int height, int w) = draw_edges_c
static const uint8_t ff_default_chroma_qscale_table [32]
static const uint8_t h263_chroma_roundtab [16]


Generated by  Doxygen 1.6.0   Back to index