视频压缩编解码标准MPEG4商业级别的VC代码实现标准

源代码在线查看: dx90sdk-update-gcc.txt

软件大小: 5488 K
上传用户: hainiu312
关键词: MPEG4 标准 视频压缩 编解码
下载地址: 免注册下载 普通下载 VIP

相关代码

				directx 9.0 software development kit update (summer 2003)				gnu c compiler compatibility patch				===============================================								this patch has been tested with:					gcc v3.2.3					gcc v3.3.3					gcc v3.4.1 (linux->win32 cross compiler)					msc v6.0 + sp5 + pp								I) Applying the patch				------------------								1. Install the directx sdk update to /c/DX90SDK (to match default				   Makefile variable values) or to any other dir. From now on, the				   sdk install directory will be called ${SDKDIR}.									dx90updatesdk.exe					size: 190,991,976 bytes					md5: ed328da4033e18124801265ee91f690e								2. cd ${SDKDIR}				3. patch -p0 --dry-run < /path/to/dx90sdk-update-gcc.patch				   (if all goes well, no rejects... else read the special notes)				   patch -p0 < /path/to/dx90sdk-update-gcc.patch												--				Special notes for cross compilation on GNU/Linux systems (or any				supported platform for wine):				 - You can install the DX SDK using the wine win32 API emulation				   layer. The unzipping stage of the install will succeed, it's				   all that is required to continue. So don't panic if the install				   program breaks/crashes after the self unzip did succeed.				 - Then depending on your cvs program, you may require to unix'ify				   the endlines of all sources in the SDK before applying the patch.				   That can be required CVS uses to expand/replace endlines according				   to the host platform type, so it's very likely that if you do				   extract the xvidcore sources from a windows box, this step isn't				   mandatory, but if you're using a unix box (even cygwin), you may				   be obliged to proceed with:				   find ${SDKDIR} -name "*.cpp" -exec dos2unix {} \;				   find ${SDKDIR} -name "*.h" -exec dos2unix {} \;								II) building strmbase.lib				-------------------------								1. cd ${SDKDIR}/Samples/C++/Directshow/BaseClasses				2. make				   (this should output strmbase.lib)								--				Special notes for people cross compiling, or people who installed				the SDK elsewhere than /c/DX90SDK:				 - you can overide Makefile defaults in the make command line,				   just use something like this command line (adapt according to				   your build environment):				   make \				       CXX=/opt/mingw32-cross/bin/i386-mingw32-g++ \				       RANLIB=/opt/mingw32-cross/bin/i386-mingw32-ranlib \				       DXTREE=${SDKDIR}												III) Building your own apps				---------------------------								These variables should be defined in your Makefiles:								DXTREE=${SDKTREE}				DXBASECLASSES=$(DXTREE)/Samples/C++/DirectShow/BaseClasses				CXXFLAGS += -DRELEASE \				        -I$(DXTREE)/Include \				        -I$(DXBASECLASSES) \				        -include $(DXTREE)/mingw_dshow_port.h				LDFLAGS += -L$(DXTREE)/Lib -lstrmiids \				        $(DXBASECLASSES)/strmbase.lib \					-lole32 -loleaut32 -lstdc++								So it's now time to build the XviD Dshow filter (the xvidcore				source dir is supposed to be ${xvidcore}):								1. cd ${xvidcore}/dshow				2. make				  (should output a xvid.ax file in a =build dir by default)								--				Notes for people using a cross compiler, or people who did install				the SDK elsewhere than /c/DX90SDK:				 - you can overide Makefile variables from the make command line,				   a fairly complete command could look like this, adapt to your				   build environment:				   make \				        CC=/opt/mingw32-cross/bin/i386-mingw32-gcc  \				        CXX=/opt/mingw32-cross/bin/i386-mingw32-g++ \				        WINDRES=/opt/mingw32-cross/bin/i386-mingw32-windres \				        DXTREE=/mnt/data/windows/dx9sdk								NB: with some win32-api headers from mingw.org, you may suffer				    multiple QACONTAINERFLAGS definitions. In that case you need				    to manually edit ${mingw_install}/include/ocidl.h; Search for				    QACONTAINERFLAGS. It should look like this:								      enum tagQACONTAINERFLAGS				      {				       ...				      } QACONTAINERFLAGS;								    Then change this to that:								      typedef enum tagQACONTAINERFLAGS				      {				       ...				      } QACONTAINERFLAGS;								    Noticed the additional typedef ? that's the point !							

相关资源