2013-08-23 80 views
0

這是關於HEVC編碼器和解碼器 EXE我Mixtion調試EXE和釋放的編碼器和解碼器

** encoder and decoder in debug mode 

** encoder and decoder in release mode 

我知道釋放模式優化的東西。

  1. 我們可以使用調試編碼器和解碼器釋放?(我沒有驗證這一點)

  2. 如何釋放編碼器和解碼器的調試? (我試試這個,這是確定)

我想都應該是美好的,但我還是想知道爲什麼在理論層面是或爲什麼不。

回答

0

不完全確定你在問什麼,但如果你是看看linux的makefile文件,你會看到這一點:

debug: 
    $(MAKE) -C lib/TLibVideoIO debug MM32=$(M32) 
    $(MAKE) -C lib/TLibCommon debug MM32=$(M32) 
    $(MAKE) -C lib/TLibDecoder debug MM32=$(M32) 
    $(MAKE) -C lib/TLibEncoder debug MM32=$(M32) 
    $(MAKE) -C lib/TAppCommon  debug MM32=$(M32) 
    $(MAKE) -C app/TAppDecoder  debug MM32=$(M32) 
    $(MAKE) -C app/TAppEncoder  debug MM32=$(M32) 
    $(MAKE) -C utils/annexBbytecount  debug MM32=$(M32) 
    $(MAKE) -C utils/convert_NtoMbit_YCbCr debug MM32=$(M32) 

release: 
    $(MAKE) -C lib/TLibVideoIO release MM32=$(M32) 
    $(MAKE) -C lib/TLibCommon release MM32=$(M32) 
    $(MAKE) -C lib/TLibDecoder release MM32=$(M32) 
    $(MAKE) -C lib/TLibEncoder release MM32=$(M32) 
    $(MAKE) -C lib/TAppCommon  release MM32=$(M32) 
    $(MAKE) -C app/TAppDecoder  release MM32=$(M32) 
    $(MAKE) -C app/TAppEncoder  release MM32=$(M32) 
    $(MAKE) -C utils/annexBbytecount  release MM32=$(M32) 
    $(MAKE) -C utils/convert_NtoMbit_YCbCr release MM32=$(M32) 

如果你遵循的makefile,你最終在makefile.base包含以下部分結束了:

# 
# debug cpp flags 
DEBUG_CPPFLAGS = -g -D_DEBUG 
# 
# release cpp 
RELEASE_CPPFLAGS = -O3 -ffloat-store -Wuninitialized 

所以你有調試和發佈模式之間的差異。無論您使用調試二進制文件還是釋放二進制文件,生成的和重建的比特流都是相同的。

你完全可以混合調試和發佈二進制文件。

希望它可以幫助...

+0

感謝Fredrik,在視頻編碼方面找到專家並不容易。我只使用Visual Studio來調試HEVC。感謝這些信息,這非常有幫助,我只是對混合調試和發佈感到好奇。 – hellocoding

0

通過調試和發佈生成的HEVC比特流構建編碼器應該是相同的。在兩種構建變體中解碼器的行爲也應該是相同的。在開發過程中沒有正式的測試,但是我從來沒有遇到任何與HM有關的問題。

如果您發現這種情況並非如此,那將被認爲是一個錯誤,應該在錯誤跟蹤器中報告。

相關問題