Initial Commit
This commit is contained in:
parent
70e5e62f3d
commit
368119aaba
128
testbin/AutoBuild_Linux.sh
Executable file
128
testbin/AutoBuild_Linux.sh
Executable file
@ -0,0 +1,128 @@
|
||||
#!/bin/bash
|
||||
|
||||
usage="this file must located in ../testbin/ based on our code structure "
|
||||
echo $usage
|
||||
|
||||
CurDir=`pwd`
|
||||
EncoderMakeDir="../codec/build/linux/enc/"
|
||||
DecoderMakeDir="../codec/build/linux/dec/"
|
||||
VPMakeDir="../processing/build/linux/"
|
||||
|
||||
CodecBinDir="../codec/build/linux/bin/"
|
||||
VPBinDir="../bin/linux"
|
||||
|
||||
let "EncoderBuildFlag=1"
|
||||
let "DecoderBuildFlag=1"
|
||||
let "VPBuildFlag=1"
|
||||
MakefileLogFile="${CurDir}/CodecVPBuild.log"
|
||||
|
||||
#************************************************
|
||||
#call Encoder make file
|
||||
echo "encoder building....."
|
||||
cd ${EncoderMakeDir}
|
||||
make clean >${MakefileLogFile}
|
||||
make >>${MakefileLogFile}
|
||||
|
||||
cd ${CurDir}
|
||||
cd ${CodecBinDir}
|
||||
if [ ! -e welsenc.a ]
|
||||
then
|
||||
let "EncoderBuildFlag=0"
|
||||
fi
|
||||
|
||||
if [ ! -e welsenc.so ]
|
||||
then
|
||||
let "EncoderBuildFlag=0"
|
||||
fi
|
||||
|
||||
if [ ! -e welsenc.exe ]
|
||||
then
|
||||
let "EncoderBuildFlag=0"
|
||||
fi
|
||||
|
||||
if [ "$EncoderBuildFlag" -eq 1 ]
|
||||
then
|
||||
echo "encoder build success!"
|
||||
else
|
||||
echo "encoder build failed!"
|
||||
fi
|
||||
|
||||
#************************************************
|
||||
#call Decoder make file
|
||||
echo "decoder building....."
|
||||
cd ${CurDir}
|
||||
cd ${DecoderMakeDir}
|
||||
make clean >>${MakefileLogFile}
|
||||
make >>${MakefileLogFile}
|
||||
|
||||
cd ${CurDir}
|
||||
cd ${CodecBinDir}
|
||||
if [ ! -e welsdec.a ]
|
||||
then
|
||||
let "DecoderBuildFlag=0"
|
||||
fi
|
||||
|
||||
if [ ! -e welsdec.so ]
|
||||
then
|
||||
let "DecoderBuildFlag=0"
|
||||
fi
|
||||
|
||||
if [ ! -e welsdec.exe ]
|
||||
then
|
||||
let "DecoderBuildFlag=0"
|
||||
fi
|
||||
|
||||
if [ "$DecoderBuildFlag" -eq 1 ]
|
||||
then
|
||||
echo "decoder build success!"
|
||||
else
|
||||
echo "decoder build failed!"
|
||||
fi
|
||||
|
||||
#************************************************
|
||||
#call VP make file
|
||||
echo "VP building....."
|
||||
cd ${CurDir}
|
||||
cd ${VPMakeDir}
|
||||
make clean >>${MakefileLogFile}
|
||||
make >>${MakefileLogFile}
|
||||
|
||||
cd ${CurDir}
|
||||
cd ${VPBinDir}
|
||||
if [ ! -e libwelsvp.so ]
|
||||
then
|
||||
let "VPBuildFlag=0"
|
||||
fi
|
||||
|
||||
if [ "$VPBuildFlag" -eq 1 ]
|
||||
then
|
||||
echo "VP build success!"
|
||||
else
|
||||
echo "VP build failed!"
|
||||
fi
|
||||
|
||||
|
||||
#****************************
|
||||
cd ${CurDir}
|
||||
rm -f *.a *.exe *.so
|
||||
|
||||
for file in ${CodecBinDir}/*
|
||||
do
|
||||
cp ${file} ./
|
||||
echo "file ${file} under ../openh264/bin/"
|
||||
done
|
||||
|
||||
for file in ${VPBinDir}/*
|
||||
do
|
||||
cp ${file} ./
|
||||
echo "file ${file} under ../openh264/bin/"
|
||||
done
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
59
testbin/AutoBuild_Windows_VS2008.bat
Executable file
59
testbin/AutoBuild_Windows_VS2008.bat
Executable file
@ -0,0 +1,59 @@
|
||||
echo off
|
||||
SET usage="this file must located in ..\testbin\ based on our code structure "
|
||||
echo %usage%
|
||||
|
||||
echo "Auto build of openH264 by VS2008"
|
||||
|
||||
SET VCBUILDEXE="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild.exe"
|
||||
|
||||
SET CurDir=%~dp0
|
||||
SET EncoderProjectDir="..\codec\build\win32\enc\"
|
||||
SET DecoderProjectDir="..\codec\build\win32\dec\"
|
||||
SET VPProjectDir="..\processing\build\win32\"
|
||||
|
||||
SET CodecBinDir="..\codec\build\win32\bin\"
|
||||
SET VPBinDir="..\processing\bin\"
|
||||
|
||||
SET EncoderBuildFlag=1
|
||||
SET DecoderBuildFlag=1
|
||||
SET VPBuildFlag=1
|
||||
SET MakefileLogFile="${CurDir}\CodecVPBuild.log"
|
||||
|
||||
rem ************************************************
|
||||
rem call VP build
|
||||
echo "Welsvp Building....."
|
||||
cd %VPProjectDir%
|
||||
rem vcclean
|
||||
%VCBUILDEXE% WelsVP_2008.vcproj
|
||||
|
||||
|
||||
rem ************************************************
|
||||
rem call WelsEncoder build
|
||||
echo "WelsEncoder Building....."
|
||||
|
||||
cd %CurDir%
|
||||
cd %EncoderProjectDir%
|
||||
rem vcclean
|
||||
%VCBUILDEXE% WelsEncCore.vcproj
|
||||
%VCBUILDEXE% WelsEncPlus.vcproj
|
||||
%VCBUILDEXE% encConsole.vcproj
|
||||
|
||||
rem ************************************************
|
||||
rem call WelsDecoder build
|
||||
echo "WelsDecoder Building....."
|
||||
|
||||
cd %CurDir%
|
||||
cd %DecoderProjectDir%
|
||||
rem vcclean
|
||||
%VCBUILDEXE% WelsDecCore.vcproj
|
||||
%VCBUILDEXE% WelsDecPlus.vcproj
|
||||
%VCBUILDEXE% decConsole.vcproj
|
||||
|
||||
cd %CurDir%
|
||||
echo "this is the end of auto build..."
|
||||
pause
|
||||
|
||||
rem TBD
|
||||
|
||||
|
||||
|
66
testbin/AutoBuild_Windows_VS2010.bat
Executable file
66
testbin/AutoBuild_Windows_VS2010.bat
Executable file
@ -0,0 +1,66 @@
|
||||
echo off
|
||||
SET usage="this file must located in ..\testbin\ based on our code structure "
|
||||
echo %usage%
|
||||
echo "Auto build of openH264 by VS2010"
|
||||
|
||||
SET VCENVSETBAT="C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
|
||||
|
||||
Rem ************************************************
|
||||
rem reset the dev env for VS2010
|
||||
echo "reset the developing env for VS2010"
|
||||
call %VCENVSETBAT%
|
||||
|
||||
|
||||
SET VCMSBUILDEXE_RELEASE=MSbuild /t:Rebuild /p:Configuration=Release
|
||||
SET VCMSBUILDEXE_DEBUG=MSbuild /t:Rebuild /p:Configuration=Debug
|
||||
|
||||
SET CurDir=%~dp0
|
||||
SET EncoderProjectDir="..\codec\build\win32\enc\"
|
||||
SET DecoderProjectDir="..\codec\build\win32\dec\"
|
||||
SET VPProjectDir="..\processing\build\win32\"
|
||||
|
||||
SET CodecBinDir="..\codec\build\win32\bin\"
|
||||
SET VPBinDir="..\processing\bin\"
|
||||
|
||||
SET EncoderBuildFlag=1
|
||||
SET DecoderBuildFlag=1
|
||||
SET VPBuildFlag=1
|
||||
SET MakefileLogFile="${CurDir}\CodecVPBuild.log"
|
||||
|
||||
|
||||
|
||||
rem ************************************************
|
||||
rem call WelsEncoder build
|
||||
echo "WelsEncoder Building....."
|
||||
|
||||
cd %CurDir%
|
||||
cd %EncoderProjectDir%
|
||||
echo current directory is %EncoderProjectDir%
|
||||
rem vcclean
|
||||
|
||||
echo %VCMSBUILDEXE_RELEASE% WelsEncoder_2010.sln
|
||||
%VCMSBUILDEXE_RELEASE% WelsEncoder_2010.sln
|
||||
%VCMSBUILDEXE_DEBUG% WelsEncoder_2010.sln
|
||||
|
||||
rem ************************************************
|
||||
rem call WelsDecoder build
|
||||
echo "WelsDecoder Building....."
|
||||
|
||||
cd %CurDir%
|
||||
cd %DecoderProjectDir%
|
||||
echo current directory is %DecoderProjectDir%
|
||||
rem vcclean
|
||||
|
||||
echo %VCMSBUILDEXE_RELEASE% WelsDecoder_2010.sln
|
||||
|
||||
%VCMSBUILDEXE_RELEASE% WelsDecoder_2010.sln
|
||||
%VCMSBUILDEXE_DEBUG% WelsDecoder_2010.sln
|
||||
|
||||
cd %CurDir%
|
||||
echo "this is the end of auto build..."
|
||||
pause
|
||||
|
||||
rem TBD
|
||||
|
||||
|
||||
|
66
testbin/AutoBuild_Windows_VS2012.bat
Executable file
66
testbin/AutoBuild_Windows_VS2012.bat
Executable file
@ -0,0 +1,66 @@
|
||||
echo off
|
||||
SET usage="this file must located in ..\testbin\ based on our code structure "
|
||||
echo %usage%
|
||||
echo "Auto build of openH264 by VS2012"
|
||||
|
||||
SET VCENVSETBAT="C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat"
|
||||
|
||||
Rem ************************************************
|
||||
rem reset the dev env for VS2012
|
||||
echo "reset the developing env for VS2012"
|
||||
call %VCENVSETBAT%
|
||||
|
||||
|
||||
SET VCMSBUILDEXE_RELEASE=MSbuild /t:Rebuild /p:Configuration=Release
|
||||
SET VCMSBUILDEXE_DEBUG=MSbuild /t:Rebuild /p:Configuration=Debug
|
||||
|
||||
SET CurDir=%~dp0
|
||||
SET EncoderProjectDir="..\codec\build\win32\enc\"
|
||||
SET DecoderProjectDir="..\codec\build\win32\dec\"
|
||||
SET VPProjectDir="..\processing\build\win32\"
|
||||
|
||||
SET CodecBinDir="..\codec\build\win32\bin\"
|
||||
SET VPBinDir="..\processing\bin\"
|
||||
|
||||
SET EncoderBuildFlag=1
|
||||
SET DecoderBuildFlag=1
|
||||
SET VPBuildFlag=1
|
||||
SET MakefileLogFile="${CurDir}\CodecVPBuild.log"
|
||||
|
||||
|
||||
|
||||
rem ************************************************
|
||||
rem call WelsEncoder build
|
||||
echo "WelsEncoder Building....."
|
||||
|
||||
cd %CurDir%
|
||||
cd %EncoderProjectDir%
|
||||
echo current directory is %EncoderProjectDir%
|
||||
rem vcclean
|
||||
|
||||
echo %VCMSBUILDEXE_RELEASE% WelsEncoder_2012.sln
|
||||
%VCMSBUILDEXE_RELEASE% WelsEncoder_2012.sln
|
||||
%VCMSBUILDEXE_DEBUG% WelsEncoder_2012.sln
|
||||
|
||||
rem ************************************************
|
||||
rem call WelsDecoder build
|
||||
echo "WelsDecoder Building....."
|
||||
|
||||
cd %CurDir%
|
||||
cd %DecoderProjectDir%
|
||||
echo current directory is %DecoderProjectDir%
|
||||
rem vcclean
|
||||
|
||||
echo %VCMSBUILDEXE_RELEASE% WelsDecoder_2012.sln
|
||||
|
||||
%VCMSBUILDEXE_RELEASE% WelsDecoder_2012.sln
|
||||
%VCMSBUILDEXE_DEBUG% WelsDecoder_2012.sln
|
||||
|
||||
cd %CurDir%
|
||||
echo "this is the end of auto build..."
|
||||
pause
|
||||
|
||||
rem TBD
|
||||
|
||||
|
||||
|
53
testbin/AutoClean_Linux.sh
Executable file
53
testbin/AutoClean_Linux.sh
Executable file
@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
|
||||
usage="this file must located in ../testbin/ based on our code structure "
|
||||
echo $usage
|
||||
|
||||
CurDir=`pwd`
|
||||
EncoderMakeDir="../codec/build/linux/enc/"
|
||||
DecoderMakeDir="../codec/build/linux/dec/"
|
||||
VPMakeDir="../processing/build/linux/"
|
||||
|
||||
CodecBinDir="../codec/build/linux/bin/"
|
||||
VPBinDir="../bin/linux"
|
||||
|
||||
let "EncoderBuildFlag=1"
|
||||
let "DecoderBuildFlag=1"
|
||||
let "VPBuildFlag=1"
|
||||
MakefileLogFile="${CurDir}/CodecVPBuild.log"
|
||||
|
||||
#************************************************
|
||||
#call Encoder make file
|
||||
echo "encoder cleanning....."
|
||||
cd ${EncoderMakeDir}
|
||||
make clean >${MakefileLogFile}
|
||||
#make >>${MakefileLogFile}
|
||||
|
||||
|
||||
|
||||
#************************************************
|
||||
#call Decoder make file
|
||||
echo "decoder cleanning....."
|
||||
cd ${CurDir}
|
||||
cd ${DecoderMakeDir}
|
||||
make clean >>${MakefileLogFile}
|
||||
#make >>${MakefileLogFile}
|
||||
|
||||
|
||||
|
||||
#************************************************
|
||||
#call VP make file
|
||||
echo "VP cleanning....."
|
||||
cd ${CurDir}
|
||||
cd ${VPMakeDir}
|
||||
make clean >>${MakefileLogFile}
|
||||
#make >>${MakefileLogFile}
|
||||
|
||||
cd ${CurDir}
|
||||
|
||||
rm -f *.exe *.so *.a *.log
|
||||
rm -fr ../bin # remove the bin directory
|
||||
|
||||
|
||||
|
||||
|
6
testbin/CmdLineExample.sh
Executable file
6
testbin/CmdLineExample.sh
Executable file
@ -0,0 +1,6 @@
|
||||
chmod 777 ../bin/linux/welsenc.exe
|
||||
../bin/linux/welsenc.exe welsenc_vd_1d.cfg
|
||||
../bin/linux/welsenc.exe welsenc_vd_rc.cfg
|
||||
|
||||
../bin/linux/welsdec.exe test_vd_1d.264 test_vd_1d.yuv
|
||||
../bin/linux/welsdec.exe test_vd_1d.264 test_vd_rc.yuv
|
20
testbin/CmdLineReadMe
Normal file
20
testbin/CmdLineReadMe
Normal file
@ -0,0 +1,20 @@
|
||||
/* Instant Runable Configurations */
|
||||
//for encoder configure files
|
||||
welsenc_vd_1d.cfg
|
||||
welsenc_vd_rc.cfg
|
||||
|
||||
//the actual generated decoder EXE files are in folder ../bin/win32/release/ with Release build
|
||||
//user may copy "decConsole.exe" and "welsdec.dll" into ../bin
|
||||
//Now assume the generated EXE files are in folder ../bin
|
||||
|
||||
Example Command Line for encoding in Windows:
|
||||
../bin/encConsole.exe welsenc_vd_1d.cfg
|
||||
../bin/encConsole.exe welsenc_vd_rc.cfg
|
||||
|
||||
Example Command Line for decoding in Windows
|
||||
../bin/decConsole.exe welsenc_vd_1d.264 welsenc_vd_1d.yuv
|
||||
../bin/decConsole.exe welsenc_vd_rc.264 welsenc_vd_rc.yuv
|
||||
|
||||
Example shell script for Linux for encoder & decoder:
|
||||
CmdLineExample.sh
|
||||
|
39
testbin/layer2.cfg
Normal file
39
testbin/layer2.cfg
Normal file
@ -0,0 +1,39 @@
|
||||
# Layer Configuration File
|
||||
|
||||
|
||||
#============================== INPUT / OUTPUT ==============================
|
||||
SourceWidth 640 # Input frame width
|
||||
SourceHeight 384 # Input frame height
|
||||
FrameRateIn 24 # Input frame rate [Hz]
|
||||
FrameRateOut 24 # Output frame rate [Hz]
|
||||
InputFile CiscoVT2people_640x384_24fps.yuv # Input file
|
||||
ReconFile rec_layer2.yuv # Reconstructed file
|
||||
|
||||
#============================== CODING ==============================
|
||||
ProfileIdc 66 # value of profile_idc (or 0 for auto detection)
|
||||
|
||||
InitialQP 24 # Quantization parameters for base quality layer
|
||||
#================================ RATE CONTROL ===============================
|
||||
SpatialBitrate 600 # Unit: kbps, controled by DisableRC also
|
||||
#============================== MultiSlice Slice Argument ==============================
|
||||
# for S/M Slice(s) mode settings
|
||||
SliceMode 0 # 0: sigle slice mode; >0: multiple slices mode, see below;
|
||||
SliceSize 1500
|
||||
SliceNum 1 # multiple slices number specified
|
||||
|
||||
SlicesAssign0 960 # count number of MBs in slice #0
|
||||
SlicesAssign1 0 # count number of MBs in slice #1
|
||||
SlicesAssign2 0 # count number of MBs in slice #2
|
||||
SlicesAssign3 0 # count number of MBs in slice #3 -- seting here is for better testing
|
||||
SlicesAssign4 0 # count number of MBs in slice #4
|
||||
SlicesAssign5 0 # count number of MBs in slice #5
|
||||
SlicesAssign6 0 # count number of MBs in slice #6
|
||||
SlicesAssign7 0 # count number of MBs in slice #7
|
||||
|
||||
### DESIGN OF SLICE MODE ####
|
||||
# 0 SM_SINGLE_SLICE | SliceNum==1
|
||||
# 1 SM_FIXEDSLCNUM_SLICE | according to SliceNum | Enabled dynamic slicing for multi-thread
|
||||
# 2 SM_RASTER_SLICE | according to SlicesAssign | Need input of MB numbers each slice. In addition, if other constraint in slice_argument is presented, need to follow the constraints. Typically if MB num and slice size are both constrained, re-encoding may be involved.
|
||||
# 3 SM_ROWMB_SLICE | according to PictureMBHeight | Typical of single row of mbs each slice?+ slice size constraint which including re-encoding
|
||||
# 4 SM_DYN_SLICE | according to SliceSize | Dynamic slicing (have no idea about slice_nums until encoding current frame)
|
||||
|
39
testbin/layer2_vd.cfg
Normal file
39
testbin/layer2_vd.cfg
Normal file
@ -0,0 +1,39 @@
|
||||
# Layer Configuration File
|
||||
|
||||
|
||||
#============================== INPUT / OUTPUT ==============================
|
||||
SourceWidth 640 # Input frame width
|
||||
SourceHeight 384 # Input frame height
|
||||
FrameRateIn 24 # Input frame rate [Hz]
|
||||
FrameRateOut 24 # Output frame rate [Hz]
|
||||
InputFile CiscoVT2people_640x384_24fps.yuv # Input file
|
||||
ReconFile rec_layer2.yuv # Reconstructed file
|
||||
|
||||
#============================== CODING ==============================
|
||||
ProfileIdc 66 # value of profile_idc (or 0 for auto detection)
|
||||
|
||||
InitialQP 24 # Quantization parameters for base quality layer
|
||||
#================================ RATE CONTROL ===============================
|
||||
SpatialBitrate 600 # Unit: kbps, controled by DisableRC also
|
||||
#============================== MultiSlice Slice Argument ==============================
|
||||
# for S/M Slice(s) mode settings
|
||||
SliceMode 0 # 0: sigle slice mode; >0: multiple slices mode, see below;
|
||||
SliceSize 1500
|
||||
SliceNum 1 # multiple slices number specified
|
||||
|
||||
SlicesAssign0 960 # count number of MBs in slice #0
|
||||
SlicesAssign1 0 # count number of MBs in slice #1
|
||||
SlicesAssign2 0 # count number of MBs in slice #2
|
||||
SlicesAssign3 0 # count number of MBs in slice #3 -- seting here is for better testing
|
||||
SlicesAssign4 0 # count number of MBs in slice #4
|
||||
SlicesAssign5 0 # count number of MBs in slice #5
|
||||
SlicesAssign6 0 # count number of MBs in slice #6
|
||||
SlicesAssign7 0 # count number of MBs in slice #7
|
||||
|
||||
### DESIGN OF SLICE MODE, 100804, Sijia ####
|
||||
# 0 SM_SINGLE_SLICE | SliceNum==1
|
||||
# 1 SM_FIXEDSLCNUM_SLICE | according to SliceNum | Enabled dynamic slicing for multi-thread
|
||||
# 2 SM_RASTER_SLICE | according to SlicesAssign | Need input of MB numbers each slice. In addition, if other constraint in slice_argument is presented, need to follow the constraints. Typically if MB num and slice size are both constrained, re-encoding may be involved.
|
||||
# 3 SM_ROWMB_SLICE | according to PictureMBHeight | Specially for TP. Typical of single row of mbs each slice?+ slice size constraint which including re-encoding
|
||||
# 4 SM_DYN_SLICE | according to SliceSize | Dynamic slicing (have no idea about slice_nums until encoding current frame)
|
||||
|
39
testbin/layer2_vd_rc.cfg
Normal file
39
testbin/layer2_vd_rc.cfg
Normal file
@ -0,0 +1,39 @@
|
||||
# Layer Configuration File
|
||||
|
||||
|
||||
#============================== INPUT / OUTPUT ==============================
|
||||
SourceWidth 640 # Input frame width
|
||||
SourceHeight 384 # Input frame height
|
||||
FrameRateIn 24 # Input frame rate [Hz]
|
||||
FrameRateOut 24 # Output frame rate [Hz]
|
||||
InputFile CiscoVT2people_640x384_24fps.yuv # Input file
|
||||
ReconFile rec_layer2.yuv # Reconstructed file
|
||||
|
||||
#============================== CODING ==============================
|
||||
ProfileIdc 66 # value of profile_idc (or 0 for auto detection)
|
||||
|
||||
InitialQP 24 # Quantization parameters for base quality layer
|
||||
#================================ RATE CONTROL ===============================
|
||||
SpatialBitrate 600 # Unit: kbps, controled by DisableRC also
|
||||
#============================== MultiSlice Slice Argument ==============================
|
||||
# for S/M Slice(s) mode settings
|
||||
SliceMode 0 # 0: sigle slice mode; >0: multiple slices mode, see below;
|
||||
SliceSize 1500
|
||||
SliceNum 1 # multiple slices number specified
|
||||
|
||||
SlicesAssign0 960 # count number of MBs in slice #0
|
||||
SlicesAssign1 0 # count number of MBs in slice #1
|
||||
SlicesAssign2 0 # count number of MBs in slice #2
|
||||
SlicesAssign3 0 # count number of MBs in slice #3 -- seting here is for better testing
|
||||
SlicesAssign4 0 # count number of MBs in slice #4
|
||||
SlicesAssign5 0 # count number of MBs in slice #5
|
||||
SlicesAssign6 0 # count number of MBs in slice #6
|
||||
SlicesAssign7 0 # count number of MBs in slice #7
|
||||
|
||||
### DESIGN OF SLICE MODE, 100804, Sijia ####
|
||||
# 0 SM_SINGLE_SLICE | SliceNum==1
|
||||
# 1 SM_FIXEDSLCNUM_SLICE | according to SliceNum | Enabled dynamic slicing for multi-thread
|
||||
# 2 SM_RASTER_SLICE | according to SlicesAssign | Need input of MB numbers each slice. In addition, if other constraint in slice_argument is presented, need to follow the constraints. Typically if MB num and slice size are both constrained, re-encoding may be involved.
|
||||
# 3 SM_ROWMB_SLICE | according to PictureMBHeight | Specially for TP. Typical of single row of mbs each slice?+ slice size constraint which including re-encoding
|
||||
# 4 SM_DYN_SLICE | according to SliceSize | Dynamic slicing (have no idea about slice_nums until encoding current frame)
|
||||
|
63
testbin/welsenc.cfg
Normal file
63
testbin/welsenc.cfg
Normal file
@ -0,0 +1,63 @@
|
||||
# Cisco Scalable H.264/AVC Extension Encoder Configuration File
|
||||
|
||||
#============================== GENERAL ==============================
|
||||
OutputFile test.264 # Bitstream file
|
||||
MaxFrameRate 30 # Maximum frame rate [Hz]
|
||||
FramesToBeEncoded -1 # Number of frames (at input frame rate)
|
||||
|
||||
GOPSize 4 # GOP Size (at maximum frame rate), 16
|
||||
IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
|
||||
EnableSpsPpsIDAddition 1
|
||||
|
||||
EnableFrameCropping 1 # enable frame cropping flag
|
||||
|
||||
#============================== LOOP FILTER ==============================
|
||||
LoopFilterDisableIDC 0 # Loop filter idc (0: on, 1: off,
|
||||
# 2: on except for slice boundaries,
|
||||
# 3: two stage. slice boundries on in second stage
|
||||
# 4: Luma on but Chroma off (w.r.t. idc=0)
|
||||
# 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2)
|
||||
# 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3)
|
||||
LoopFilterAlphaC0Offset 0 # AlphaOffset(-6..+6): valid range
|
||||
LoopFilterBetaOffset 0 # BetaOffset (-6..+6): valid range
|
||||
|
||||
InterLayerLoopFilterDisableIDC 0 # filter idc for inter-layer deblocking (0: on, 1: off,
|
||||
# 2: on except for slice boundaries,
|
||||
# 3: two stage. slice boundries on in second stage
|
||||
# 4: Luma on but Chroma off in enh. layer (w.r.t. idc=0)
|
||||
# 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2)
|
||||
# 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3)
|
||||
InterLayerLoopFilterAlphaC0Offset 0 # AlphaOffset for inter-layer deblocking
|
||||
InterLayerLoopFilterBetaOffset 0 # BetaOffset for inter-layer deblocking
|
||||
|
||||
#============================== SOFTWARE IMPLEMENTATION ==============================
|
||||
MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;
|
||||
|
||||
#============================== RATE CONTROL ==============================
|
||||
EnableRC 1 # ENABLE RC
|
||||
TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
|
||||
|
||||
#============================== DENOISE CONTROL ==============================
|
||||
EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
|
||||
|
||||
#============================== SCENE CHANGE DETECTION CONTROL =======================
|
||||
EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
|
||||
|
||||
#============================== BACKGROUND DETECTION CONTROL ==============================
|
||||
EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
|
||||
|
||||
#============================== ADAPTIVE QUANTIZATION CONTROL =======================
|
||||
EnableAdaptiveQuantization 1 # Enable Adaptive Quantization (1: enable, 0: disable)
|
||||
|
||||
#============================== LONG TERM REFERENCE CONTROL ==============================
|
||||
EnableLongTermReference 0 # Enable Long Term Reference (1: enable, 0: disable)
|
||||
LtrMarkPeriod 30 # Long Term Reference Marking Period
|
||||
|
||||
#============================== LAYER DEFINITION ==============================
|
||||
PrefixNALAddingCtrl 0 # Control flag of adding prefix unit (0: off, 1: on)
|
||||
# It shall always be on in SVC contexts (i.e. when there are CGS/MGS/spatial enhancement layers)
|
||||
# Can be disabled when no inter spatial layer prediction in case of its value as 0
|
||||
NumLayers 1 # Number of layers
|
||||
//LayerCfg layer0.cfg # Layer 0 configuration file
|
||||
//LayerCfg layer1.cfg # Layer 1 configuration file
|
||||
LayerCfg layer2.cfg # Layer 2 configuration file
|
63
testbin/welsenc_vd_1d.cfg
Normal file
63
testbin/welsenc_vd_1d.cfg
Normal file
@ -0,0 +1,63 @@
|
||||
# Cisco Scalable H.264/AVC Extension Encoder Configuration File
|
||||
|
||||
#============================== GENERAL ==============================
|
||||
OutputFile test_vd_1d.264 # Bitstream file
|
||||
MaxFrameRate 30 # Maximum frame rate [Hz]
|
||||
FramesToBeEncoded -1 # Number of frames (at input frame rate)
|
||||
|
||||
GOPSize 4 # GOP Size (at maximum frame rate), 16
|
||||
IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
|
||||
EnableSpsPpsIDAddition 1
|
||||
|
||||
EnableFrameCropping 1 # enable frame cropping flag
|
||||
|
||||
#============================== LOOP FILTER ==============================
|
||||
LoopFilterDisableIDC 0 # Loop filter idc (0: on, 1: off,
|
||||
# 2: on except for slice boundaries,
|
||||
# 3: two stage. slice boundries on in second stage
|
||||
# 4: Luma on but Chroma off (w.r.t. idc=0)
|
||||
# 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2)
|
||||
# 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3)
|
||||
LoopFilterAlphaC0Offset 0 # AlphaOffset(-6..+6): valid range
|
||||
LoopFilterBetaOffset 0 # BetaOffset (-6..+6): valid range
|
||||
|
||||
InterLayerLoopFilterDisableIDC 0 # filter idc for inter-layer deblocking (0: on, 1: off,
|
||||
# 2: on except for slice boundaries,
|
||||
# 3: two stage. slice boundries on in second stage
|
||||
# 4: Luma on but Chroma off in enh. layer (w.r.t. idc=0)
|
||||
# 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2)
|
||||
# 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3)
|
||||
InterLayerLoopFilterAlphaC0Offset 0 # AlphaOffset for inter-layer deblocking
|
||||
InterLayerLoopFilterBetaOffset 0 # BetaOffset for inter-layer deblocking
|
||||
|
||||
#============================== SOFTWARE IMPLEMENTATION ==============================
|
||||
MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;
|
||||
|
||||
#============================== RATE CONTROL ==============================
|
||||
EnableRC 0 # ENABLE RC
|
||||
TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
|
||||
|
||||
#============================== DENOISE CONTROL ==============================
|
||||
EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
|
||||
|
||||
#============================== SCENE CHANGE DETECTION CONTROL =======================
|
||||
EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
|
||||
|
||||
#============================== BACKGROUND DETECTION CONTROL ==============================
|
||||
EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
|
||||
|
||||
#============================== ADAPTIVE QUANTIZATION CONTROL =======================
|
||||
EnableAdaptiveQuantization 0 # Enable Adaptive Quantization (1: enable, 0: disable)
|
||||
|
||||
#============================== LONG TERM REFERENCE CONTROL ==============================
|
||||
EnableLongTermReference 1 # Enable Long Term Reference (1: enable, 0: disable)
|
||||
LtrMarkPeriod 30 # Long Term Reference Marking Period
|
||||
|
||||
#============================== LAYER DEFINITION ==============================
|
||||
PrefixNALAddingCtrl 0 # Control flag of adding prefix unit (0: off, 1: on)
|
||||
# It shall always be on in SVC contexts (i.e. when there are CGS/MGS/spatial enhancement layers)
|
||||
# Can be disabled when no inter spatial layer prediction in case of its value as 0
|
||||
NumLayers 1 # Number of layers
|
||||
//LayerCfg layer0_vd.cfg # Layer 0 configuration file
|
||||
//LayerCfg layer1_vd.cfg # Layer 1 configuration file
|
||||
LayerCfg layer2_vd.cfg # Layer 2 configuration file
|
63
testbin/welsenc_vd_rc.cfg
Normal file
63
testbin/welsenc_vd_rc.cfg
Normal file
@ -0,0 +1,63 @@
|
||||
# Cisco Scalable H.264/AVC Extension Encoder Configuration File
|
||||
|
||||
#============================== GENERAL ==============================
|
||||
OutputFile test_vd_rc.264 # Bitstream file
|
||||
MaxFrameRate 30 # Maximum frame rate [Hz]
|
||||
FramesToBeEncoded -1 # Number of frames (at input frame rate), -1
|
||||
|
||||
GOPSize 8 # GOP Size (at maximum frame rate), 16
|
||||
IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
|
||||
EnableSpsPpsIDAddition 1
|
||||
|
||||
EnableFrameCropping 1 # enable frame cropping flag
|
||||
|
||||
#============================== LOOP FILTER ==============================
|
||||
LoopFilterDisableIDC 0 # Loop filter idc (0: on, 1: off,
|
||||
# 2: on except for slice boundaries,
|
||||
# 3: two stage. slice boundries on in second stage
|
||||
# 4: Luma on but Chroma off (w.r.t. idc=0)
|
||||
# 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2)
|
||||
# 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3)
|
||||
LoopFilterAlphaC0Offset 0 # AlphaOffset(-6..+6): valid range
|
||||
LoopFilterBetaOffset 0 # BetaOffset (-6..+6): valid range
|
||||
|
||||
InterLayerLoopFilterDisableIDC 0 # filter idc for inter-layer deblocking (0: on, 1: off,
|
||||
# 2: on except for slice boundaries,
|
||||
# 3: two stage. slice boundries on in second stage
|
||||
# 4: Luma on but Chroma off in enh. layer (w.r.t. idc=0)
|
||||
# 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2)
|
||||
# 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3)
|
||||
InterLayerLoopFilterAlphaC0Offset 0 # AlphaOffset for inter-layer deblocking
|
||||
InterLayerLoopFilterBetaOffset 0 # BetaOffset for inter-layer deblocking
|
||||
|
||||
#============================== SOFTWARE IMPLEMENTATION ==============================
|
||||
MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;
|
||||
|
||||
#============================== RATE CONTROL ==============================
|
||||
EnableRC 1 # ENABLE RC
|
||||
TargetBitrate 600 # Unit: kbps, controled by EnableRC also
|
||||
|
||||
#============================== DENOISE CONTROL ==============================
|
||||
EnableDenoise 1 # Enable Denoise (1: enable, 0: disable)
|
||||
|
||||
#============================== SCENE CHANGE DETECTION CONTROL =======================
|
||||
EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
|
||||
|
||||
#============================== BACKGROUND DETECTION CONTROL ==============================
|
||||
EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
|
||||
|
||||
#============================== ADAPTIVE QUANTIZATION CONTROL =======================
|
||||
EnableAdaptiveQuantization 1 # Enable Adaptive Quantization (1: enable, 0: disable)
|
||||
|
||||
#============================== LONG TERM REFERENCE CONTROL ==============================
|
||||
EnableLongTermReference 1 # Enable Long Term Reference (1: enable, 0: disable)
|
||||
LtrMarkPeriod 30 # Long Term Reference Marking Period
|
||||
|
||||
#============================== LAYER DEFINITION ==============================
|
||||
PrefixNALAddingCtrl 0 # Control flag of adding prefix unit (0: off, 1: on)
|
||||
# It shall always be on in SVC contexts (i.e. when there are CGS/MGS/spatial enhancement layers)
|
||||
# Can be disabled when no inter spatial layer prediction in case of its value as 0
|
||||
NumLayers 1 # Number of layers
|
||||
//LayerCfg layer0_vd.cfg # Layer 0 configuration file
|
||||
//LayerCfg layer1_vd.cfg # Layer 1 configuration file
|
||||
LayerCfg layer2_vd_rc.cfg # Layer 2 configuration file
|
Loading…
Reference in New Issue
Block a user