现在的位置: 首页 > 综合 > 正文

JM8.6代码文件结构

2012年11月05日 ⁄ 综合 ⁄ 共 3585字 ⁄ 字号 评论关闭

JM8.6代码文件结构

总结一下, JM8.6中比较重要的源代码文件

[block.c]用于处理一个块

void

intrapred_luma (int img_x, int img_y, int *left_available, int *up_available, int *all_available)

void

intrapred_luma_16x16 ()

int

dct_luma_16x16 (int new_intra_mode)

int

dct_luma (int block_x, int block_y, int *coeff_cost, int old_intra_mode)

int

dct_chroma (int uv, int cr_cbp)


[decoder.c] "decoders in the encoder

void

decode_one_b8block (int decoder, int mbmode, int b8block, int b8mode, int b8ref)

void

decode_one_mb (int decoder, Macroblock *currMB)

void

Get_Reference_Block (byte **imY, int block_y, int block_x, int mvhor, int mvver, byte **out)

byte

Get_Reference_Pixel (byte **imY, int y_pos, int x_pos)

void

UpdateDecoders ()

void

DecOneForthPix (byte **dY, byte ***dref)

void

compute_residue_b8block (int b8block, int i16mode)

void

compute_residue_mb (int i16mode)

void

Build_Status_Map (byte **s_map)

void

Error_Concealment (byte **inY, byte **s_map, byte ***refY)

void

Conceal_Error (byte **inY, int mb_y, int mb_x, byte ***refY, byte **s_map)


[image.c] Code one image/slice

void

code_a_picture (Picture *pic)

void

frame_picture (Picture *frame)

static int

writeout_picture (Picture *pic)

static int

picture_structure_decision (Picture *frame, Picture *top, Picture *bot)

static void

distortion_fld (float *dis_fld_y, float *dis_fld_u, float *dis_fld_v)

static void

find_snr ()

static void

find_distortion ()

static void

frame_mode_buffer (int bit_frame, float snr_frame_y, float snr_frame_u, float snr_frame_v)

static void

init_frame ()

static void

put_buffer_frame ()

static void

copy_motion_vectors_MB ()

static void

CopyFrameToOldImgOrgVariables (Sourceframe *sf)

static Sourceframe *

AllocSourceframe (int xs, int ys)

static void

FreeSourceframe (Sourceframe *sf)

static void

ReadOneFrame (int FrameNoInFile, int HeaderSize, int xs, int ys, Sourceframe *sf)

static void

writeUnit (Bitstream *currStream, int partition)

static int

CalculateFrameNumber ()

int

encode_one_frame ()

static void

init_dec_ref_pic_marking_buffer ()

static void

GenerateFullPelRepresentation (pel_t **Fourthpel, pel_t *Fullpel, int xsize, int ysize)

void

UnifiedOneForthPix (StorablePicture *s)

Boolean

dummy_slice_too_big (int bits_slice)

void

copy_rdopt_data (int bot_block)

static void

GenerateFieldComponent (char *src, char *top, char *bot, int xs, int ys)

[lencod.c]主函数所在文件

void

Init_Motion_Search_Module ()

void

Clear_Motion_Search_Module ()

int

main (int argc, char **argv)

void

report_stats_on_error ()

void

init_poc ()

void

CAVLC_init ()

void

init_img ()

void

free_img ()

Picture *

malloc_picture ()

void

free_picture (Picture *pic)

int

init_global_buffers ()

void

free_global_buffers ()

int

get_mem_mv (int *******mv)

int

get_mem_ACcoeff (int *****cofAC)

void

combine_field ()

void

process_2nd_IGOP ()

void

SetImgType ()

[macroblock.c] Process one macroblock

void

set_MB_parameters (int mb_addr)

void

proceed2nextMacroblock ()

void

start_macroblock (int mb_addr, int mb_field)

void

terminate_macroblock (Boolean *end_of_slice, Boolean *recode_macroblock)

int

slice_too_big (int rlc_bits)

void

OneComponentLumaPrediction4x4 (int *mpred, int pic_pix_x, int pic_pix_y, int *mv, int ref, StorablePicture **list)

void

copyblock4x4 (int *mpred, int block[BLOCK_SIZE][BLOCK_SIZE])

void

LumaPrediction4x4 (int block_x, int block_y, int p_dir, int fw_mode, int bw_mode, int fw_ref_idx, int bw_ref_idx)

int

LumaResidualCoding8x8 (int *cbp, int *cbp_blk, int block8x8, int p_dir, int fw_mode, int bw_mode, int fw_refframe, int bw_refframe)

void

SetModesAndRefframe (int b8, int *p_dir, int *fw_mode, int *bw_mode, int *fw_ref, int *bw_ref)

void

LumaResidualCoding ()

void

OneComponentChromaPrediction4x4 (int *mpred, int block_c_x, int block_c_y, int ******mv, int list_idx, int ref, int blocktype, int uv)

void

IntraChromaPrediction4x4 (int uv, int block_x, int block_y)

void

ChromaPrediction4x4 (int uv, int block_x, int block_y, int p_dir, int fw_mode, int bw_mode, int fw_ref_idx, int bw_ref_idx)

void

ChromaResidualCoding (int *cr_cbp)

void

IntraChromaPrediction8x8 (int *mb_up, int *mb_left, int *mb_up_left)

int

ZeroRef

抱歉!评论已关闭.