Definition in file mpegvideo.h.
#include "dsputil.h"
#include "bitstream.h"
Go to the source code of this file.
Classes | |
struct | MotionEstContext |
struct | MpegEncContext |
struct | ParseContext |
struct | Picture |
struct | Predictor |
struct | RateControlContext |
struct | RateControlEntry |
struct | RLTable |
struct | ScanTable |
Defines | |
#define | AC_END 16 |
#define | AC_ERROR 2 |
#define | B_TYPE FF_B_TYPE |
Bi-dir predicted. | |
#define | CANDIDATE_MB_TYPE_BACKWARD 0x40 |
#define | CANDIDATE_MB_TYPE_BACKWARD_I 0x400 |
#define | CANDIDATE_MB_TYPE_BIDIR 0x80 |
#define | CANDIDATE_MB_TYPE_BIDIR_I 0x800 |
#define | CANDIDATE_MB_TYPE_DIRECT 0x10 |
#define | CANDIDATE_MB_TYPE_FORWARD 0x20 |
#define | CANDIDATE_MB_TYPE_FORWARD_I 0x200 |
#define | CANDIDATE_MB_TYPE_INTER 0x02 |
#define | CANDIDATE_MB_TYPE_INTER4V 0x04 |
#define | CANDIDATE_MB_TYPE_INTER_I 0x100 |
#define | CANDIDATE_MB_TYPE_INTRA 0x01 |
#define | CANDIDATE_MB_TYPE_SKIPPED 0x08 |
#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 |
Intra. | |
#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_INTERLACED(a) ((a)&MB_TYPE_INTERLACED) |
#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 | MB_TYPE_INTRA MB_TYPE_INTRA4x4 |
#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 |
Predicted. | |
#define | PICT_BOTTOM_FIELD 2 |
#define | PICT_FRAME 3 |
#define | PICT_TOP_FIELD 1 |
#define | PREV_PICT_TYPES_BUFFER_SIZE 256 |
#define | QMAT_SHIFT 22 |
#define | QMAT_SHIFT_MMX 16 |
#define | QUANT_BIAS_SHIFT 8 |
#define | S_TYPE FF_S_TYPE |
S(GMC)-VOP MPEG4. | |
#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 | |
Enumerations | |
enum | OutputFormat { FMT_MPEG1, FMT_H261, FMT_H263, FMT_MJPEG, FMT_H264 } |
Functions | |
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) |
Variables | |
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] |