divx4windows
所属分类:Windows编程
开发工具:Visual C++
文件大小:115KB
下载次数:11
上传日期:2010-10-05 21:28:24
上 传 者:
lwxxsee4ar
说明: 开发环境:VC/C++
开源项目OpenDivX源代码包,内含:
encore50src.zip 编码核心
decore50src.zip 解码核心
DS4050src.zip DirectShow源代码
VFW4050src.zip Windows下的视频DLL源代码
文件列表:
DivX4Windows.def (189, 2001-04-16)
DivX4Windows.dsp (5307, 2001-04-20)
DivX4Windows.dsw (547, 2001-02-10)
DivX Install.txt (753, 2001-01-19)
StdAfx.cpp (214, 2001-02-10)
StdAfx.h (1447, 2001-02-10)
bin\CVS\Entries (190, 2001-04-20)
bin\CVS\Repository (18, 2001-04-20)
bin\CVS\Root (51, 2001-04-20)
bin\decore.lib (168444, 2001-04-23)
bin\DivX.inf (2620, 2001-01-19)
bin\encore.lib (139698, 2001-04-20)
CVS\Entries (437, 2001-04-20)
CVS\Repository (14, 2001-04-20)
CVS\Root (51, 2001-04-20)
CVSROOT\checkoutlist (506, 2001-01-19)
CVSROOT\commitinfo (775, 2001-01-19)
CVSROOT\config (541, 2001-01-19)
CVSROOT\CVS\Entries (467, 2001-04-20)
CVSROOT\CVS\Repository (22, 2001-04-20)
CVSROOT\CVS\Root (51, 2001-04-20)
CVSROOT\cvswrappers (776, 2001-01-19)
CVSROOT\editinfo (1046, 2001-01-19)
CVSROOT\loginfo (1167, 2001-01-19)
CVSROOT\modules (1177, 2001-01-19)
CVSROOT\notify (576, 2001-01-19)
CVSROOT\rcsinfo (662, 2001-01-19)
CVSROOT\taginfo (899, 2001-01-19)
CVSROOT\verifymsg (1047, 2001-01-19)
src\codec.h (3462, 2001-04-17)
src\config_dialog.cpp (2938, 2001-04-17)
src\config_dialog.h (1610, 2001-04-17)
src\convert.cpp (10551, 2001-04-17)
src\CVS\Entries (716, 2001-04-20)
src\CVS\Repository (18, 2001-04-20)
src\CVS\Root (51, 2001-04-20)
src\decore.h (4463, 2001-04-07)
src\dec_engine.cpp (7488, 2001-04-17)
src\DivX4Windows.aps (36768, 2001-04-20)
... ...
-----
Index
-----
1. DivX Codec libraries compilation and use
1.1 Decore lib compilation
1.2 Encore lib compilation
2. Driver dll compilation and use
------------------------------------------
DivX Codec libraries compilation and use
------------------------------------------
This document explain how to compile the Codec windows multimedia driver DivX.dll. If you already have experience with MsDev Studio please ignore this document since probably will contain obvious informations.
The encoding and decoding engine are encapsulated in two libraries (encore.lib and decore.lib). The exported interface is in the following modules:
encore.h - exported encoder core interface
decore.h - exported decoder core interface
The encoder and decoder core are designed to be portable on different platforms. We build them on Linux and Win32 (Visual C++ / Windows 9x/2K).
Encore and Decore have two separate workspaces and project files that will permit to build the corresponding library. In particular you will open:
./encore/build/encore.dps - to build the encore library
./decore/build/decore.dps - to build the decore library
Decore lib compilation
------------------------
The decore project contains the followin files:
basic_prediction.c
basic_prediction_mmx.c
decore.c
getbits.c
idct.c
idct_mmx.c
mp4_block.c
mp4_decoder.c
mp4_header.c
mp4_mblock.c
mp4_picture.c
mp4_predict.c
mp4_recon.c
mp4_vld.c
postprocess.c
postprocess_mmx.c
transferIDCT.c
transterIDCT_mmx.c
yuv2rgb_mmx.c
basic_prediction.h
decore.h
global.h
mp4_block.h
mp4_decoder.h
mp4_header.h
mp4_mblock.h
mp4_predict.h
mp4_vld.h
portab.h
postprocess.h
transferIDCT.h
yuv2rgb.h
In addiction you find the postprocessing routines in mmx in the project folder ./Source Files/PostProc
The files contained in this folder are:
deblock_horiz.z
deblock_horiz_DC_on.c
deblock_horiz_default_filter.c
deblock_horiz_lpf9.c
deblcok_horiz_useDC.c
deblock_vert.c
deblock_vert_choose_p1p2.c
deblock_vert_copy_and_unpack.c
deblock_vert_DC_on.c
deblock_vert_default_filter.c
deblock_vert_lpf9.c
deblock_vert_useDC.c
do_emms.c
fast_copy.c
postprocess.c
postprocess.h
postprocess_mmx.h
Depending on the active configuration (Debug/Release) [Build -> Active Configuration] you can have enabled/disabled the compilation of the MMX modules and of their relative ANSI C modules. Also, since our MMX IDCT doens't need to be initialized, when you compile in Release mode, notice that the preprocessor definition _MMX_IDCT will be present [Project -> Settings].
In both Debug and Release configuration the _DECORE preprocessor definition is present. This setting allows to the input module to work presuming that the input buffer is enough big to contain always the stream piece of at least one entire frame. Please verify that _DECORE is defined to make sure that the library you build will correcly work in windows media player.
Encore lib compilation
------------------------
The encore project contains the following files:
encore.c
mom_access.c
mom_bitstream.c
mom_util.c
mom_code.c
mom_est_comp.c
mot_util.c
putvlc.c
rc_hist.c
rc_q2.c
rgb2yuv.c
text_bits.c
text_code.c
text_code_mb.c
text_dct.c
vop_code.c
encore.h
max_level.h
mom_access.h
mom_bitstream.h
mom_structs.h
mom_util.h
momusys.h
mot_code.h
mot_est_comp.h
mot_est_mb.h
mot_util.h
non_unix.h
rc.h
rc_hist.h
rc_q2.h
rgb2yuv.h
text_bits.h
text_code.h
text_code_mb.h
text_dct.h
text_defs.h
vlc.h
vm_common_defs.h
vm_enc_defs.h
vop_code.h
zigzag.h
--------------------------------
Driver dll compilation and use
--------------------------------
The DivX1 project contains the following files:
config_dialog.cpp
dec_engine.cpp
DivX1.cpp
DivX1.def
DivX1.rc
DriverProc.cpp
enc_engine.cpp
maintance.cpp
StdAfx.cpp
codec.h
config_dialog.h
decore.h
DivX1.h
encore.h
Resource.h
StdAfx.h
DivX1.rc2
The aim of this project is to build an installable windows multimedia driver that will work with windows media player. To know how to install this driver once you build it, please refer to DivX.txt document.
The driver will use the decore and encore engines by linking their libraries. The linker look for these libraries in ../library where ./ is the directory where you have the DivX1 project file. If you need to link the libraries from another directory/location, you can simply change the [Object/library modules] settings going in [Project -> Settings -> Link]. The output dll will be written in the project folder. If you want to put the output dll in another folder, simply change this setting in [Project -> Settings -> Link -> Output file name]. For example, if you want to put the DivX1.dll in C:/ you will write there 'C:/DivX1.dll'.
If you have any question, please contact:
< compileinfo@projectmayo.com >
近期下载者:
相关文件:
收藏者: