Logo Search packages:      
Sourcecode: blender version File versions  Download package

mpegvideo.h File Reference

Detailed Description

mpegvideo header.

Definition in file mpegvideo.h.

#include "dsputil.h"
#include "bitstream.h"

Go to the source code of this file.


struct  MotionEstContext
struct  MpegEncContext
struct  ParseContext
struct  Picture
struct  Predictor
struct  RateControlContext
struct  RateControlEntry
struct  RLTable
struct  ScanTable


#define AC_END   16
#define AC_ERROR   2
#define B_TYPE   FF_B_TYPE
 Bi-dir predicted.
#define CHROMA_420   1
#define CHROMA_422   2
#define CHROMA_444   3
#define DC_END   32
#define DC_ERROR   4
#define EDGE_WIDTH   16
#define END_NOT_FOUND   -100
#define FRAME_SKIPPED   100
 return value for header parsers if frame is not coded
#define HAS_CBP(a)   ((a)&MB_TYPE_CBP)
#define I_TYPE   FF_I_TYPE
#define INPLACE_OFFSET   16
#define IS_16X16(a)   ((a)&MB_TYPE_16x16)
#define IS_16X8(a)   ((a)&MB_TYPE_16x8)
#define IS_8X16(a)   ((a)&MB_TYPE_8x16)
#define IS_8X8(a)   ((a)&MB_TYPE_8x8)
#define IS_ACPRED(a)   ((a)&MB_TYPE_ACPRED)
#define IS_DIR(a, part, list)   ((a) & (MB_TYPE_P0L0<<((part)+2*(list))))
#define IS_DIRECT(a)   ((a)&MB_TYPE_DIRECT2)
#define IS_GMC(a)   ((a)&MB_TYPE_GMC)
#define IS_INTER(a)   ((a)&(MB_TYPE_16x16|MB_TYPE_16x8|MB_TYPE_8x16|MB_TYPE_8x8))
#define IS_INTRA(a)   ((a)&7)
#define IS_INTRA16x16(a)   ((a)&MB_TYPE_INTRA16x16)
#define IS_INTRA4x4(a)   ((a)&MB_TYPE_INTRA4x4)
#define IS_INTRA_PCM(a)   ((a)&MB_TYPE_INTRA_PCM)
#define IS_PCM(a)   ((a)&MB_TYPE_INTRA_PCM)
#define IS_QUANT(a)   ((a)&MB_TYPE_QUANT)
#define IS_SKIP(a)   ((a)&MB_TYPE_SKIP)
#define IS_SUB_4X4(a)   ((a)&MB_TYPE_8x8)
#define IS_SUB_4X8(a)   ((a)&MB_TYPE_8x16)
#define IS_SUB_8X4(a)   ((a)&MB_TYPE_16x8)
#define IS_SUB_8X8(a)   ((a)&MB_TYPE_16x16)
#define MAX_FCODE   7
#define MAX_LEVEL   64
#define MAX_MB_BYTES   (30*16*16*3/8 + 120)
#define MAX_MV   2048
#define MAX_PICTURE_COUNT   32
#define MAX_RUN   64
#define MAX_THREADS   8
#define ME_MAP_MV_BITS   11
#define ME_MAP_SHIFT   3
#define ME_MAP_SIZE   64
#define MPEG_BUF_SIZE   (16 * 1024)
#define MV_DIR_BACKWARD   1
#define MV_DIR_FORWARD   2
#define MV_DIRECT   4
 bidirectional mode where the difference equals the MV of the last P/S/I-Frame (mpeg4)
#define MV_END   64
#define MV_ERROR   8
#define MV_TYPE_16X16   0
 1 vector for the whole mb
#define MV_TYPE_16X8   2
 2 vectors, one per 16x8 block
#define MV_TYPE_8X8   1
 4 vectors (h263, mpeg4 4MV)
#define MV_TYPE_DMV   4
 2 vectors, special mpeg2 Dual Prime Vectors
#define MV_TYPE_FIELD   3
 2 vectors, one per field
#define P_TYPE   FF_P_TYPE
#define PICT_FRAME   3
#define PICT_TOP_FIELD   1
#define QMAT_SHIFT   22
#define QMAT_SHIFT_MMX   16
#define QUANT_BIAS_SHIFT   8
#define S_TYPE   FF_S_TYPE
#define SI_TYPE   FF_SI_TYPE
 Switching Intra.
#define SLICE_END   -2
 end marker found
#define SLICE_ERROR   -1
#define SLICE_NOEND   -3
 no end marker or error found but mb count exceeded
#define SLICE_OK   0
#define SP_TYPE   FF_SP_TYPE
 Switching Predicted.
#define UNI_AC_ENC_INDEX(run, level)   ((run)*128 + (level))
#define USES_LIST(a, list)   ((a) & ((MB_TYPE_P0L0|MB_TYPE_P1L0)<<(2*(list))))
 does this mb use listX, note doesnt work if subMBs
#define VP_START   1
 current MB is the first after a resync marker


enum  OutputFormat {


int DCT_common_init (MpegEncContext *s)
void ff_clean_h263_qscales (MpegEncContext *s)
void ff_clean_intra_table_entries (MpegEncContext *s)
void ff_clean_mpeg4_qscales (MpegEncContext *s)
int ff_combine_frame (ParseContext *pc, int next, uint8_t **buf, int *buf_size)
void ff_copy_bits (PutBitContext *pb, uint8_t *src, int length)
void ff_denoise_dct (MpegEncContext *s, DCTELEM *block)
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)
int ff_epzs_motion_search (MpegEncContext *s, int *mx_ptr, int *my_ptr, int P[10][2], int src_index, int ref_index, int16_t(*last_mv)[2], int ref_mv_scale, int size, int h)
void ff_er_add_slice (MpegEncContext *s, int startx, int starty, int endx, int endy, int status)
void ff_er_frame_end (MpegEncContext *s)
void ff_er_frame_start (MpegEncContext *s)
void ff_estimate_b_frame_motion (MpegEncContext *s, int mb_x, int mb_y)
void ff_estimate_p_frame_motion (MpegEncContext *s, int mb_x, int mb_y)
double ff_eval (char *s, double *const_value, const char **const_name, double(**func1)(void *, double), const char **func1_name, double(**func2)(void *, double, double), char **func2_name, void *opaque)
const uint8_t * ff_find_start_code (const uint8_t *p, const uint8_t *end, uint32_t *state)
int ff_find_unused_picture (MpegEncContext *s, int shared)
void ff_fix_long_mvs (MpegEncContext *s, uint8_t *field_select_table, int field_select, int16_t(*mv_table)[2], int f_code, int type, int truncate)
void ff_fix_long_p_mvs (MpegEncContext *s)
void ff_flv_encode_picture_header (MpegEncContext *s, int picture_number)
void ff_get_2pass_fcode (MpegEncContext *s)
int ff_get_best_fcode (MpegEncContext *s, int16_t(*mv_table)[2], int type)
int ff_get_mb_score (MpegEncContext *s, int mx, int my, int src_index, int ref_index, int size, int h, int add_rate)
void ff_h261_encode_init (MpegEncContext *s)
void ff_h261_encode_mb (MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y)
void ff_h261_encode_picture_header (MpegEncContext *s, int picture_number)
void ff_h261_loop_filter (MpegEncContext *s)
void ff_h261_reorder_mb_index (MpegEncContext *s)
int ff_h263_decode_end (AVCodecContext *avctx)
int ff_h263_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
int ff_h263_decode_gob_header (MpegEncContext *s)
int ff_h263_decode_init (AVCodecContext *avctx)
int ff_h263_decode_mb (MpegEncContext *s, DCTELEM block[6][64])
int ff_h263_decode_mba (MpegEncContext *s)
void ff_h263_encode_mba (MpegEncContext *s)
void ff_h263_encode_motion (MpegEncContext *s, int val, int f_code)
int ff_h263_get_gob_height (MpegEncContext *s)
void ff_h263_loop_filter (MpegEncContext *s)
int ff_h263_resync (MpegEncContext *s)
int ff_h263_round_chroma (int x)
void ff_h263_update_motion_val (MpegEncContext *s)
void ff_init_block_index (MpegEncContext *s)
void ff_init_me (MpegEncContext *s)
void ff_init_scantable (uint8_t *, ScanTable *st, const uint8_t *src_scantable)
void ff_mjpeg_stuffing (PutBitContext *pbc)
void ff_mpeg1_clean_buffers (MpegEncContext *s)
void ff_mpeg1_encode_init (MpegEncContext *s)
void ff_mpeg1_encode_slice_header (MpegEncContext *s)
int ff_mpeg1_find_frame_end (ParseContext *pc, const uint8_t *buf, int buf_size)
void ff_mpeg4_clean_buffers (MpegEncContext *s)
int ff_mpeg4_decode_mb (MpegEncContext *s, DCTELEM block[6][64])
int ff_mpeg4_decode_partitions (MpegEncContext *s)
int ff_mpeg4_decode_picture_header (MpegEncContext *s, GetBitContext *gb)
void ff_mpeg4_encode_video_packet_header (MpegEncContext *s)
int ff_mpeg4_find_frame_end (ParseContext *pc, const uint8_t *buf, int buf_size)
int ff_mpeg4_get_video_packet_prefix_length (MpegEncContext *s)
void ff_mpeg4_init_partitions (MpegEncContext *s)
void ff_mpeg4_merge_partitions (MpegEncContext *s)
int ff_mpeg4_set_direct_mv (MpegEncContext *s, int mx, int my)
void ff_mpeg4_stuffing (PutBitContext *pbc)
void ff_mpeg_flush (AVCodecContext *avctx)
int ff_msmpeg4_decode_init (MpegEncContext *s)
void ff_msmpeg4_encode_init (MpegEncContext *s)
void ff_mspel_motion (MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, uint8_t **ref_picture, op_pixels_func(*pix_op)[4], int motion_x, int motion_y, int h)
void ff_parse_close (AVCodecParserContext *s)
int ff_pre_estimate_p_frame_motion (MpegEncContext *s, int mb_x, int mb_y)
void ff_print_debug_info (MpegEncContext *s, AVFrame *pict)
int ff_rate_control_init (MpegEncContext *s)
void ff_rate_control_uninit (MpegEncContext *s)
float ff_rate_estimate_qscale (MpegEncContext *s, int dry_run)
void ff_set_mpeg4_time (MpegEncContext *s, int picture_number)
void ff_set_qscale (MpegEncContext *s, int qscale)
static void ff_update_block_index (MpegEncContext *s)
void ff_update_duplicate_context (MpegEncContext *dst, MpegEncContext *src)
int ff_vbv_update (MpegEncContext *s, int frame_size)
void ff_wmv2_add_mb (MpegEncContext *s, DCTELEM block[6][64], uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr)
int ff_wmv2_decode_picture_header (MpegEncContext *s)
int ff_wmv2_decode_secondary_picture_header (MpegEncContext *s)
void ff_wmv2_encode_mb (MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y)
int ff_wmv2_encode_picture_header (MpegEncContext *s, int picture_number)
void ff_write_pass1_stats (MpegEncContext *s)
void ff_write_quant_matrix (PutBitContext *pb, int16_t *matrix)
int ff_xvid_rate_control_init (MpegEncContext *s)
void ff_xvid_rate_control_uninit (MpegEncContext *s)
float ff_xvid_rate_estimate_qscale (MpegEncContext *s, int dry_run)
int flv_h263_decode_picture_header (MpegEncContext *s)
static int get_bits_diff (MpegEncContext *s)
static int get_rl_index (const RLTable *rl, int last, int run, int level)
void h263_decode_init_vlc (MpegEncContext *s)
int h263_decode_picture_header (MpegEncContext *s)
void h263_encode_gob_header (MpegEncContext *s, int mb_line)
void h263_encode_init (MpegEncContext *s)
void h263_encode_mb (MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y)
void h263_encode_picture_header (MpegEncContext *s, int picture_number)
int h263_get_picture_format (int width, int height)
int16_t * h263_pred_motion (MpegEncContext *s, int block, int dir, int *px, int *py)
void init_rl (RLTable *rl, int use_static)
void init_vlc_rl (RLTable *rl, int use_static)
int intel_h263_decode_picture_header (MpegEncContext *s)
void mjpeg_close (MpegEncContext *s)
void mjpeg_encode_mb (MpegEncContext *s, DCTELEM block[6][64])
int mjpeg_init (MpegEncContext *s)
void mjpeg_picture_header (MpegEncContext *s)
void mjpeg_picture_trailer (MpegEncContext *s)
void mpeg1_encode_mb (MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y)
void mpeg1_encode_picture_header (MpegEncContext *s, int picture_number)
void mpeg4_encode_mb (MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y)
void mpeg4_encode_picture_header (MpegEncContext *s, int picture_number)
void mpeg4_pred_ac (MpegEncContext *s, DCTELEM *block, int n, int dir)
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])
int MPV_encode_end (AVCodecContext *avctx)
int MPV_encode_init (AVCodecContext *avctx)
int MPV_encode_picture (AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data)
void MPV_frame_end (MpegEncContext *s)
int MPV_frame_start (MpegEncContext *s, AVCodecContext *avctx)
int msmpeg4_decode_ext_header (MpegEncContext *s, int buf_size)
int msmpeg4_decode_picture_header (MpegEncContext *s)
void msmpeg4_encode_ext_header (MpegEncContext *s)
void msmpeg4_encode_mb (MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y)
void msmpeg4_encode_picture_header (MpegEncContext *s, int picture_number)
void rv10_encode_picture_header (MpegEncContext *s, int picture_number)
void rv20_encode_picture_header (MpegEncContext *s, int picture_number)
int rv_decode_dc (MpegEncContext *s, int n)


void(* draw_edges )(uint8_t *buf, int wrap, int width, int height, int w)
const uint8_t ff_aic_dc_scale_table [32]
const uint8_t ff_h263_chroma_qscale_table [32]
const uint8_t ff_h263_loop_filter_strength [32]
const uint8_t ff_mpeg1_dc_scale_table [128]
const int16_t ff_mpeg1_default_intra_matrix [64]
const int16_t ff_mpeg1_default_non_intra_matrix [64]
const uint8_t ff_mpeg4_c_dc_scale_table [32]
const int16_t ff_mpeg4_default_intra_matrix [64]
const int16_t ff_mpeg4_default_non_intra_matrix [64]
const uint8_t ff_mpeg4_y_dc_scale_table [32]
enum PixelFormat ff_yuv420p_list [2]

Generated by  Doxygen 1.6.0   Back to index