xvid源代碼以及文件結構

文件結構: build debian doc dshow examples src vfw 依次對應相應的開發。其中src目錄下的文件是core。如果使用VC編譯項目的話,進入build/win32目錄下,打開Xvidcore.dsp即可。 在dshow目錄下是一個Decoder Filter,你可以通過它編譯出一個基於CVideoTransformFilter的Filter。 在vfw目錄下,你可以採用vfw的編程方式。 在doc目錄下,Install是DOS文件格式,你可以通過閱讀這個文章,知道如何獲取最新的xvid的代碼,如果編譯xvidcore等。 另外你如果想編譯成功的話可能需要下載nasm.exe程序. 編譯分爲Ia32和Ia64兩部分. 目錄結構如下: decoder.c / encoder.c / xvid.c / bitstream/bitstream.c / ---對字節流操作的代碼 bitstream/mbcoding.c / ---對VLC和VOP字節操作 bitdustream/cbp.c / dct/fdct.c / ---DCT變換 dct/idct.c / ---DCT逆變換 dct/simple_idct.c / image/colorspace.c / ---顏色空間變化 image/image.c / image/interpolate8x8.c / ---8*8/16*16低通的轉換 image/font.c / ---字符處理部分 image/postprocessing.c / ---圖像處理部分 image/qpel.c / image/reduced.c / motion/estimation_bvop.c / ---B幀vop預測部分 motion/estimation_common.c / ---模版搜索 motion/estimation_gmc.c / motion/estimation_pvop.c / ---P幀VOP預測部分 motion/estimation_rd_based.c / motion/gmc.c / motion/motion_comp.c / ---運動補償 motion/vop_type_decision.c / ---VOP類型描述 motion/sad.c / prediction/mbprediction.c / ---mpeg 宏塊預測 plugins/plugin_single.c / ---流控操作 plugins/plugin_2pass1.c / plugins/plugin_2pass2.c / plugins/plugin_lumimasking.c / plugins/plugin_dump.c / plugins/plugin_psnr.c / quant/quant_h263.c / ---h263 的量化 quant/quant_matrix.c / ---量化參數 quant/quant_mpeg.c / utils/emms.c / utils/mbtransquant.c / utils/mem_align.c / ---內存對齊操作 utils/mem_transfer.c / ---內存轉換 utils/timer.c SRC_IA32 = / bitstream/x86_asm/cbp_3dne.asm / ---優化字節流操作 bitstream/x86_asm/cbp_mmx.asm / bitstream/x86_asm/cbp_sse2.asm / dct/x86_asm/fdct_mmx_ffmpeg.asm / ---用MMX優化ffmpeg dct/x86_asm/fdct_mmx_skal.asm / dct/x86_asm/fdct_sse2_skal.asm / dct/x86_asm/idct_3dne.asm / dct/x86_asm/idct_mmx.asm / dct/x86_asm/idct_sse2_dmitry.asm / dct/x86_asm/simple_idct_mmx.asm / image/x86_asm/colorspace_rgb_mmx.asm / ---rgb/yuv的轉換 image/x86_asm/colorspace_yuv_mmx.asm / image/x86_asm/colorspace_yuyv_mmx.asm / image/x86_asm/interpolate8x8_3dn.asm / image/x86_asm/interpolate8x8_3dne.asm / image/x86_asm/interpolate8x8_mmx.asm / image/x86_asm/interpolate8x8_xmm.asm / image/x86_asm/reduced_mmx.asm / image/x86_asm/qpel_mmx.asm / motion/x86_asm/sad_xmm.asm / motion/x86_asm/sad_sse2.asm / motion/x86_asm/sad_mmx.asm / motion/x86_asm/sad_3dne.asm / motion/x86_asm/sad_3dn.asm / quant/x86_asm/quantize_h263_mmx.asm / ---針對Intel和AMD優化H263的量化參數 quant/x86_asm/quantize_h263_3dne.asm / quant/x86_asm/quantize_mpeg_xmm.asm / quant/x86_asm/quantize_mpeg_mmx.asm / utils/x86_asm/mem_transfer_mmx.asm / ---針對Intel和AMD優化內存轉換 utils/x86_asm/mem_transfer_3dne.asm / utils/x86_asm/interlacing_mmx.asm / utils/x86_asm/cpuid.asm 僅僅列舉了一部分的代碼樹, 以上這部分的代碼是重要的. 這時候你可以打開libxvidcore項目進行閱讀了.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章