📄 datastruct.hpp
字号:
// UChar *bordered_half_bab,
// UChar *bordered_curr_bab,
// Int bab_type,
// Int mbsize,
// FILTER *filter,
// BSS *bitstream,
// ArCoder *ar_coder);
Int ShapeEnhContentEncode(UChar *bordered_lower_bab,
UChar *bordered_half_bab,
UChar *bordered_curr_bab,
Int bab_type,
Int scan_order, // SAIT_PDAM: added by Samsung AIT
Int mbsize,
FILTER *filter,
BSS *bitstream,
ArCoder *ar_coder);
// Void ExclusiveORencoding (UChar *bordered_lower_bab,
// UChar *bordered_half_bab,
// UChar *bordered_curr_bab,
// Int mbsize,
// BSS *bitstream,
// ArCoder *ar_coder);
Void ExclusiveORencoding (UChar *bordered_lower_bab,
UChar *bordered_half_bab,
UChar *bordered_curr_bab,
Int mbsize,
Int scan_order, // SAIT_PDAM: added by Samsung AIT
BSS *bitstream,
ArCoder *ar_coder);
Void FullEncoding (UChar *bordered_lower_bab,
UChar *bordered_half_bab,
UChar *bordered_curr_bab,
Int mbsize,
FILTER *filter,
BSS *bitstream,
ArCoder *ar_coder);
Void MergeEnhShapeBitstream();
//BinArCodec.cpp
Void StartArCoder_Still ( ArCoder *coder);
Void StopArCoder_Still ( ArCoder *coder,
BSS *bitstream);
Void ArCodeSymbol_Still ( ArCoder *coder,
BSS *bitstream,
UChar bit,
UInt c0);
Void EncRenormalize ( ArCoder *coder,
BSS *bitstream);
Void BitByItself_Still ( Int bit,
ArCoder *coder,
BSS *bitstream);
Void BitPlusFollow_Still ( Int bit,
ArCoder *coder,
BSS *bitstream);
Void BitstreamPutBit_Still ( Int bit,
BSS *bitstream);
Void InitBitstream ( Int flag,
BSS *bitstream);
Int ByteAlignmentEnc (void);
Void PutBitstoStream ( Int bits,
UInt code,
BSS *bitstream);
Void PutBitstoStreamMerge ( Int bits,
UInt code);
Void BitstreamFlushBitsCopy ( Int i,
BSS *bitstream);
Int BitstreamLookBitCopy ( Int pos,
BSS *bitstream);
UInt LookBitsFromStreamCopy ( Int bits,
BSS *bitstream);
UInt GetBitsFromStreamCopy ( Int bits,
BSS *bitstream );
Void BitStreamCopy ( Int cnt,
BSS *bitstream1,
BSS *bitstream2 );
Void BitStreamMerge ( Int cnt,
BSS *bitstream );
//end: added by SL@Sarnoff (03/03/99)
};
class CVTCDecoder : public CVTCCommon,
public VTCIMAGEBOX,
public VTCIDWT,
public VTCDWTMASK,
public VTCIDWTMASK //added by SL@Sarnoff (03/03/99)
{
public:
// Constructor and Deconstructor
~CVTCDecoder ();
CVTCDecoder ();
Char *m_cInBitsFile;
Char *m_cRecImageFile;
// vtcdec.cpp
Void texture_packet_header_Dec(FILTER ***wvtfilter, PICTURE **Image, Int *header_size); // Added by Sharp (99/4/7)
Void header_Dec_V1(FILTER ***wvtfilter, PICTURE **Image); // hjlee 0901
Void header_Dec(FILTER ***wvtfilter, PICTURE **Image, Int *header_size); // hjlee 0901 , Modified by Sharp (99/2/16)
Void header_Dec_Common(FILTER ***wvtfilter, PICTURE **Image, Int *header_size, Int SkipShape=0); // Added by Sharp (99/2/16) // @@@@@@@
Void Get_Quant_and_Max(SNR_IMAGE *snr_image, Int spaLayer,
Int color); // hjlee 0901
Void Get_Quant_and_Max_SQBB(SNR_IMAGE *snr_image, Int spaLayer,
Int color); // hjlee 0901
Void textureLayerDC_Dec();
Void TextureSpatialLayerSQNSC_dec(Int spa_lev);
Void TextureSpatialLayerSQ_dec(Int spa_lev, FILE *bitfile);
Void textureLayerSQ_Dec(FILE *bitfile);
Void TextureSNRLayerMQ_decode(Int spa_lev, Int snr_lev,FILE *fp);
// hjlee 0901
Void textureLayerMQ_Dec(FILE *bitfile,
Int target_spatial_levels,
Int target_snr_levels,
FILTER **wvtfilter); // hjlee 0901
// hjlee 0901
Void TextureObjectLayer_dec(Int target_spatial_levels,
Int target_snr_levels, FILTER ***pwvtfilter,
Int iTile, Int count,FILE *bitfile, Int **table, PICTURE *Image); // hjlee 0901 // modified by Sharp (99/2/16)
Void TextureObjectLayer_dec_V1(Int target_spatial_levels,
Int target_snr_levels, FILTER ***pwvtfilter); // hjlee 0901
Void decode(Char *InBitsFile, Char *RecImageFile,
Int DisplayWidth, Int DisplayHeight,
Int TargetSpaLev, Int TargetSNRLev,
Int TargetShapeLev, Int FullSizeOut, // added by SL@Sarnoff (03/02/99)
Int TargetTileFrom, Int TargetTileto); // modified by Sharp (99/2/16)
// seg.cpp
// hjlee 0901
Void get_virtual_mask_V1(PICTURE *MyImage, Int wvtDecompLev,
Int w, Int h, Int usemask, Int colors, FILTER **filters) ;
Void get_virtual_mask(PICTURE *MyImage, Int wvtDecompLev,
Int w, Int h, Int usemask, Int colors,
Int *target_shape_layer, Int StartCodeEnable,
FILTER **filters) ;
// begin: added by Sharp (99/5/10)
// FPDAM begin: modified by Sharp
// Void perform_IDWT_Tile(FILTER **wvtfilter, UChar **frm, Int iTile, Int TileW);
Void perform_IDWT_Tile(FILTER **wvtfilter, UChar **frm, UChar **frm_mask, Int iTile, Int TileW);
// FPDAM begin: modified by Sharp
// FPDAM begin
// Void get_virtual_tile_mask(Int iTile, Int TileX, Int TileY, PICTURE *Image);
Void get_virtual_tile_mask(PICTURE *MyImage, Int wvtDecompLev,
Int object_width, Int object_height,
Int tile_width, Int tile_height,
Int iTile, Int TileX, Int TileY,
Int usemask, Int tile_type, Int colors,
Int *target_shape_layer,
Int StartCodeEnable,
FILTER **filters);
// FPDAM end
// end: added by Sharp (99/5/10)
Void get_virtual_mask_TILE(PICTURE *MyImage, Int wvtDecompLev,
Int w, Int h, Int usemask, Int colors,
Int *target_shape_layer, Int StartCodeEnable,
FILTER **filters) ;
// decQM.c
Void iQuantizeCoeff(Int x, Int y, Int c);
Void iQuantizeCoeffs(Int x, Int y, Int c);
Int decIQuantizeDC(Int c);
Int decIQuantizeAC(Int c);
Int decIQuantizeAC_spa(Int spa_lev,Int c);
Int decUpdateStateAC(Int c);
Int markCoeffs(Int x, Int y, Int c);
Int decMarkAC(Int c);
Int decUpdateStateAC_spa(Int c); // hjlee 0901
// ac.cpp
Int mzte_input_bit(ac_decoder *acd);
Void mzte_ac_decoder_done(ac_decoder *acd);
Void mzte_ac_decoder_init(ac_decoder *acd);
Int mzte_ac_decode_symbol(ac_decoder *acd,ac_model *acm); // hjlee 0901
//Added by Sarnoff for error resilience, 3/5/99
// ztscanUtil.cpp
Void get_TU_location(Int LTU);
Void set_prev_good_TD_segment(Int TU, Int h, Int w);
Void set_prev_good_BB_segment(Int TU, Int h, Int w);
//End Added by Sarnoff for error resilience, 3/5/99
//ztscan_dec.cpp
Short iDC_pred_pix(Int i, Int j);
Void iDC_predict(Int color);
Void wavelet_dc_decode(Int c);
Void callc_decode();
Void wavelet_higher_bands_decode_SQ_band(Int col);
Void cachb_decode_SQ_band(SNR_IMAGE *snr_image);
// Void decode_pixel_SQ_band(Int h,Int w); // 1124
Void wavelet_higher_bands_decode_SQ_tree();
Void cachb_decode_SQ_tree(); // hjlee 0901
// Void decode_pixel_SQ_tree(Int h0,Int w0); // hjlee 0901
Void decode_pixel_SQ(Int h,Int w); // 1124
Void mag_sign_decode_SQ(Int h,Int w);
Void wavelet_higher_bands_decode_MQ(Int scanDirection);
Void cachb_decode_MQ_band();
// Void decode_pixel_MQ_band(Int h,Int w);
Void decode_pixel_MQ(Int h,Int w);
Void cachb_decode_MQ_tree();
// Void decode_pixel_MQ_tree(Int h,Int w);
Void mark_ZTR_D(Int h,Int w);
Void mag_sign_decode_MQ(Int h,Int w);
Int bitplane_decode(Int l,Int max_bplane); // hjlee 0901
Int bitplane_res_decode(Int l,Int max_bplane); // hjlee 0901
// Void decodeBlocks(Int y, Int x, Int n); //1124
Void decodeSQBlocks(Int y, Int x, Int n);
Void decodeMQBlocks(Int y, Int x, Int n);
//Added by Sarnoff for error resilience, 3/5/99
Void mark_not_decodable_TUs(Int start_TU, Int end_TU);
Void init_arith_decoder_model(Int col);
Void close_arith_decoder_model(Int color);
Void check_end_of_packet();
Void check_end_of_DC_packet(Int numBP);
Int found_segment_error(Int col);
Void decodeSQBlocks_ErrResi(Int y, Int x, Int n, Int c);
//End added by Sarnoff for error resilience, 3/5/99
// bitpack.cpp
Int align_byte ();
Int get_param(Int nbits);
Void restore_arithmetic_offset(Int bits_to_go);
UInt LookBitFromStream (Int n); //added by SL@Sarnoff (03/03/99)
//Added by Sarnoff for error resilience, 3/5/99
Void error_bits_stat(Int error_mode);
Int get_err_resilience_header();
Void rewind_bits(Int nbits);
Int end_of_stream();
//End Added by Sarnoff for error resilience, 3/5/99
// wavelet.cpp
Void perform_IDWT(FILTER **wvtfilter,
Char *recImgFile); // hjlee 0901
// write_image.cpp
Void write_image(Char *recImgFile, Int colors,
Int width, Int height,
Int real_width, Int real_height,
Int rorigin_x, Int rorigin_y,
UChar *outimage[3], UChar *outmask[3],
Int usemask, Int fullsize, Int MinLevel);
// begin: added by Sharp (99/5/10)
Void write_image_tile(Char *recImgFile, UChar **frm);
// FPDAM begin: modified by Sharp
Void CVTCDecoder::write_image_to_buffer(UChar **DstImage,
UChar *DstMask[3], // FPDAM added by Sharp
Int DstWidth, Int DstHeight, Int iTile, Int TileW,
/* Char *recImgFile,*/ Int colors,
Int width, Int height,
Int real_width, Int real_height,
Int rorigin_x, Int rorigin_y,
UChar *outimage[3], UChar *outmask[3],
Int usemask, Int fullsize, Int MinLevel);
// Void write_image_to_buffer(UChar **DstImage, Int DstWidth, Int DstHeight, Int iTile, Int TileW,
// /* Char *recImgFile,*/ Int colors,
// Int width, Int height,
// Int real_width, Int real_height,
// Int rorigin_x, Int rorigin_y,
// UChar *outimage[3], UChar *outmask[3],
// Int usemask, Int fullsize, Int MinLevel);
// FPDAM end: modified by Sharp
// end: added by Sharp (99/5/10)
/* for bilevel mode: added by Jie Liang */
/* from PEZW_textureBQ.c */
void textureLayerBQ_Dec(FILE *bitfile);
void PEZW_decode_ratecontrol (PEZW_SPATIAL_LAYER **SPlayer, int bytes_decoded);
/* from PEZW_utils.c */
void PEZW_bit_unpack (PEZW_SPATIAL_LAYER **SPlayer);
void PEZW_freeDec (PEZW_SPATIAL_LAYER **SPlayer);
/* bitpack.cpp */
Int get_allbits (Char *buffer);
Int Is_startcode (long startcode);
int align_byte1 ();
Int get_X_bits_checksc(Int nbits);
Void get_X_bits_checksc_init();
int get_allbits_checksc (unsigned char *buffer);
Int align_byte_checksc ();
int decoded_bytes_from_bitstream ();
// begin: added by Sharp (99/2/16)
Void search_tile(int tile_id);
// FPDAM begin: modified by Sharp
// Void tile_header_Dec();
Void tile_header_Dec(FILTER **wvtfilter, Int iTile, Int TileX, Int count, Int TileY, PICTURE **Image);
// FPDAM end: modified by Sharp
Void tile_table_Dec(Int *table);
Void set_decode_tile_id_and_position(Int *iNumOfTile, Int **jump_table, Int **decode_tile_id, Int *table, Int header_size);
Void copy_coeffs(Int iTile, DATA **frm);
// Void perform_IDWT_Tile(FILTER **wvtfilter, Char *recImgFile, DATA **frm); // deleted by Sharp (99/5/10)
Void relative_jump(long size);
Void clear_coeffinfo();
// end: added by Sharp (99/2/16)
//begin: added by SL@Sarnoff (03/03/99)
//ShapeDecoding.cpp
Int ShapeDeCoding(UChar *mask, Int width, Int height,
Int levels, Int *targetLevel,
Int *constAlpha,
UChar *constAlphaValue,
Int startCodeEnable,
Int fullSizeOut,
FILTER **filter);
Int DecodeShapeHeader(Int *constAlpha, UChar *constAlphaValue,
Int *change_CR_disable /*, Int *shapeScalable*/ );
Int DecodeShapeBaseLayer( UChar *outmask, Int change_CR_disable,
Int coded_width, Int coded_height, Int levels);
Int DecodeShapeEnhancedLayer( UChar *outmask,
Int coded_width, Int coded_height,
Int k, FILTER *filter, Int startCodeEnable);
Int ByteAlignmentDec_Still();
UInt GetBitsFromStream_Still(Int bits);
Int BitstreamLookBit_Still(Int pos);
UInt LookBitsFromStream_Still(Int bits);
//ShapeBaseDecode.cpp
Int ShapeBaseDeCoding (UChar *OutShape,
Int object_width, Int object_height,
Int change_CR_disable
);
Int
ShapeBaseContentDecode(Int i,Int j,Int bsize,UChar **BAB,SBI *infor);
Int
ShapeBaseHeaderDecode(Int i,Int j,Int blkx,SBI *infor);
//ShapeEnhDecode.cpp
Int ShapeEnhDeCoding(UChar *LowShape, UChar *HalfShape, UChar *CurShape,
Int object_width,
Int object_height,
FILTER *filter);
/*Int ShapeEnhHeaderDecode(UChar *bab_mode,
Int blky,
Int blkx,
FILTER *filter,
ArDecoder *ar_decoder);
*/
Int ShapeEnhContentDecode(UChar *bordered_lower_bab,
UChar *bordered_half_bab,
UChar *bordered_curr_bab,
Int bab_type,
Int mbsize,
FILTER *filter,
ArDecoder *ar_decoder);
// Void ExclusiveORdecoding (UChar *bordered_lower_bab,UChar *bordered_half_bab,
// UChar *bordered_curr_bab,
// Int mbsize,
// ArDecoder *ar_decoder);
Void ExclusiveORdecoding (UChar *bordered_lower_bab,UChar *bordered_half_bab,
UChar *bordered_curr_bab,
Int mbsize,
Int scan_order, // SAIT_PDAM: added by Samsung AIT
ArDecoder *ar_decoder);
Void FullDecoding (UChar *bordered_lower_bab, UChar *bordered_half_bab,
UChar *bordered_curr_bab,
Int mbsize,
FILTER *filter,
ArDecoder *ar_decoder);
Void StartArDecoder_Still ( ArDecoder *decoder );
Void StopArDecoder_Still ( ArDecoder *decoder );
UChar ArDecodeSymbol_Still ( ArDecoder *decoder,
UInt c0 );
Void AddNextInputBit_Still ( ArDecoder *decoder);
Void DecRenormalize ( ArDecoder *decoder );
Int ByteAlignmentDec (void);
Void BitstreamFlushBits_Still ( Int i );
Int BitstreamLookBit ( Int pos );
UInt LookBitsFromStream ( Int bits );
UInt GetBitsFromStream ( Int bits );
//end: added by SL@Sarnoff (03/03/99)
};
#endif __VTCENC_HPP_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -