文件名称:MPEG4压缩算法源代码 .zip
文件大小:96KB
文件格式:ZIP
更新时间:2022-09-23 10:32:18
C++ Mpeg4 视频解压缩
mpeg4编码库源代码,C++完整源代码,有需要饿同学尽管拿去。 // This is the header file describing // the entrance function of the encoder core // or the encore ... #ifdef __cplusplus extern "C" { #endif typedef struct _ENC_PARAM_ { int x_dim; // the x dimension of the frames to be encoded int y_dim; // the y dimension of the frames to be encoded float framerate;// the frame rate of the sequence to be encoded long bitrate; // the bitrate of the target encoded stream long rc_period; // the intended rate control averaging period long rc_reaction_period; // the reation period for rate control long rc_reaction_ratio; // the ratio for down/up rate control long max_key_interval; // the maximum interval between key frames int max_quantizer; // the upper limit of the quantizer int min_quantizer; // the lower limit of the quantizer int search_range; // the forward search range for motion estimation } ENC_PARAM; typedef struct _ENC_FRAME_ { void *image; // the image frame to be encoded void *bitstream;// the buffer for encoded bitstream long length; // the length of the encoded bitstream } ENC_FRAME; typedef struct _ENC_RESULT_ { int isKeyFrame; // the current frame is encoded as a key frame } ENC_RESULT; // the prototype of the encore() - main encode engine entrance int encore( unsigned long handle, // handle - the handle of the calling entity, must be unique unsigned long enc_opt, // enc_opt - the option for encoding, see below void *param1, // param1 - the parameter 1 (its actually meaning depends on enc_opt void *param2); // param2 - the parameter 2 (its actually meaning depends on enc_opt // encore options (the enc_opt parameter of encore()) #define ENC_OPT_WRITE 1024 // write the reconstruct image to files (for debuging) #define ENC_OPT_INIT 32768 // initialize the encoder for an handle #define ENC_OPT_RELEASE 65536 // release all the resource associated with the handle // return code of encore() #define ENC_OK 0 #define ENC_MEMORY 1 #define ENC_BAD_FORMAT 2 #ifdef __cplusplus } #endif
【文件预览】:
encore
----Acknowledgement.txt(4KB)
----CVS()
--------Root(51B)
--------Entries(81B)
--------Repository(17B)
----src()
--------mot_util.h(2KB)
--------rate_ctl.h(382B)
--------text_code.h(739B)
--------mot_est_mb.h(913B)
--------bitstream.c(4KB)
--------vm_common_defs.h(5KB)
--------vlc.h(19KB)
--------mom_structs.h(3KB)
--------mot_est_comp.c(21KB)
--------mom_access.c(10KB)
--------max_level.h(2KB)
--------putvlc.c(24KB)
--------mom_access.h(4KB)
--------rate_ctl.c(5KB)
--------mom_util.c(15KB)
--------text_dct.h(176B)
--------text_code.c(28KB)
--------text_bits.h(1KB)
--------intel_mmx()
--------momusys.h(7KB)
--------CVS()
--------bitstream.h(546B)
--------encore.c(13KB)
--------mot_est_mb.c(25KB)
--------mom_util.h(1KB)
--------mot_code.h(494B)
--------mot_code.c(18KB)
--------mot_util.c(13KB)
--------putvlc.h(2KB)
--------mot_est_comp.h(457B)
--------non_unix.h(383B)
--------text_code_mb.h(485B)
--------encore.h(2KB)
--------vop_code.h(634B)
--------text_bits.c(24KB)
--------vop_code.c(11KB)
--------text_defs.h(430B)
--------vm_enc_defs.h(934B)
--------text_dct.c(7KB)
--------text_code_mb.c(13KB)
--------zigzag.h(1KB)
----build()
--------win32()
--------CVS()