#include "mbuffer.h"
Go to the source code of this file.
Functions | |
void | calculate_frame_no (ImageParameters *p_Img, StorablePicture *p) |
void | find_snr (ImageParameters *p_Img, StorablePicture *p, int *p_ref) |
int | picture_order (ImageParameters *p_Img) |
void | decode_one_slice (Slice *currSlice) |
int | read_new_slice (Slice *currSlice) |
void | exit_picture (ImageParameters *p_Img, StorablePicture **dec_picture) |
int | decode_one_frame (ImageParameters *p_Img) |
int | is_new_picture (StorablePicture *dec_picture, Slice *currSlice, OldSliceParams *p_old_slice) |
void | init_old_slice (OldSliceParams *p_old_slice) |
void | copy_dec_picture_JV (ImageParameters *p_Img, StorablePicture *dst, StorablePicture *src) |
void | frame_postprocessing (ImageParameters *p_Img) |
void | field_postprocessing (ImageParameters *p_Img) |
Definition in file image.h.
void calculate_frame_no | ( | ImageParameters * | p_Img, | |
StorablePicture * | p | |||
) |
Calculate the value of frame_no.
Definition at line 733 of file image.c.
Referenced by direct_output(), and insert_picture_in_dpb().
void copy_dec_picture_JV | ( | ImageParameters * | p_Img, | |
StorablePicture * | dst, | |||
StorablePicture * | src | |||
) |
copy StorablePicture *src -> StorablePicture *dst for 4:4:4 Independent mode
Definition at line 1751 of file image.c.
References storable_picture::dec_ref_pic_marking_buffer, no_mem_exit(), and storable_picture::tone_mapping_lut.
Referenced by init_picture().
int decode_one_frame | ( | ImageParameters * | p_Img | ) |
decodes one I- or P-frame
Definition at line 540 of file image.c.
References EOS, Error_tracking(), exit_picture(), linfo_cbp_inter_normal(), linfo_cbp_inter_other(), linfo_cbp_intra_normal(), linfo_cbp_intra_other(), read_new_slice(), and SOP.
Referenced by main().
void decode_one_slice | ( | Slice * | currSlice | ) |
decodes one slice
Definition at line 1815 of file image.c.
References change_plane_JV(), compute_colocated(), compute_colocated_JV(), decode_one_macroblock(), ercWriteMBMODEandMV(), exit_macroblock(), exit_slice(), slice::num_ref_idx_l0_active, slice::num_ref_idx_l1_active, set_ref_pic_num(), setup_slice_methods(), slice::slice_type, and start_macroblock().
void exit_picture | ( | ImageParameters * | p_Img, | |
StorablePicture ** | dec_picture | |||
) |
finish decoding of a picture, conceal errors and store it into the DPB
this is always true at the beginning of a picture
mark the start of the first segment
generate the segments according to the macroblock map
stop current segment
mark current segment as lost or OK
next segment
start new segment
save start MB for this segment
mark end of the last segment
call the right error concealment function depending on the frame type.
Definition at line 1290 of file image.c.
References change_plane_JV(), DeblockPicture(), ercConcealInterFrame(), ercConcealIntraFrame(), ercMarkCurrSegmentLost(), ercMarkCurrSegmentOK(), ercStartSegment(), ercStopSegment(), field_postprocessing(), frame_postprocessing(), make_frame_picture_JV(), store_picture_in_dpb(), and YUV400.
Referenced by activate_sps(), decode_one_frame(), and init_picture().
void field_postprocessing | ( | ImageParameters * | p_Img | ) |
Prepare field and frame buffer after field decoding.
Definition at line 1737 of file image.c.
Referenced by exit_picture().
void find_snr | ( | ImageParameters * | p_Img, | |
StorablePicture * | p, | |||
int * | p_ref | |||
) |
Find PSNR for all three components.Compare decoded frame with the original sequence. Read p_Inp->jumpd frames to reflect frame skipping.
p_Img | image encoding parameters for current picture | |
p | picture to be compared | |
p_ref | file pointer piont to reference YUV reference file |
Definition at line 761 of file image.c.
References buffer2img(), storable_picture::imgUV, storable_picture::imgY, no_mem_exit(), and YUV400.
Referenced by direct_output(), and insert_picture_in_dpb().
void frame_postprocessing | ( | ImageParameters * | p_Img | ) |
Prepare field and frame buffer after frame decoding.
Definition at line 1727 of file image.c.
Referenced by exit_picture().
void init_old_slice | ( | OldSliceParams * | p_old_slice | ) |
int is_new_picture | ( | StorablePicture * | dec_picture, | |
Slice * | currSlice, | |||
OldSliceParams * | p_old_slice | |||
) |
detect if current slice is "first VCL NAL unit of a picture"
Definition at line 1676 of file image.c.
References slice::pic_parameter_set_id.
Referenced by read_new_slice().
int picture_order | ( | ImageParameters * | p_Img | ) |
int read_new_slice | ( | Slice * | currSlice | ) |
Reads new slice from bit_stream.
Definition at line 967 of file image.c.
References alloc_colocated(), AllocNALU(), arideco_start_decoding(), assign_quant_params(), Bitstream::bitstream_length, nalu_t::buf, slice::Co_located_JV, Bitstream::code_len, slice::dp_mode, slice::dpB_NotPresent, slice::dpC_NotPresent, Bitstream::ei_flag, slice::ei_flag, EOS, error(), FirstPartOfSliceHeader(), fmo_init(), Bitstream::frame_bitoffset, free_colocated(), FreeNALU(), init_lists(), init_mbaff_lists(), init_picture(), InterpretSEIMessage(), is_new_picture(), nalu_t::len, nalu_t::lost_packets, MAX_CODED_FRAME_SIZE, nalu_t::nal_reference_idc, nalu_t::nal_unit_type, PAR_DP_1, PAR_DP_3, slice::partArr, slice::pic_parameter_set_id, RBSPtoSODB(), Bitstream::read_len, read_next_nalu(), RestOfSliceHeader(), slice::slice_type, SOP, SOS, slice::start_mb_nr, Bitstream::streamBuffer, and ue_v().
Referenced by decode_one_frame().