ref: 6a99755a06c557793d328922568b879949242fd8
parent: bdbd1930f5b1b222647456482c1c1ae46740017c
parent: ae06ed8973efdbbe2723f18563a789d5991df1a5
author: huili2 <huili2@cisco.com>
date: Fri Oct 27 11:03:34 EDT 2017
Merge pull request #2865 from GuangweiWang/instead-tab-by-space style the config file
--- a/testbin/welsenc.cfg
+++ b/testbin/welsenc.cfg
@@ -1,65 +1,71 @@
# Cisco Scalable H.264/AVC Extension Encoder Configuration File
#============================== GENERAL ==============================
-UsageType 0 #0: camera video 1:screen content
-SimulcastAVC 0 #0: use SVC syntax for higher layers; 1: use Simulcast AVC
-SourceWidth 320 #input video width
-SourceHeight 192 #input video height
+UsageType 0 # 0: camera video 1:screen content
+SimulcastAVC 0 # 0: use SVC syntax for higher layers; 1: use Simulcast AVC
+SourceWidth 320 # input video width
+SourceHeight 192 # input video height
InputFile ../res/CiscoVT2people_320x192_12fps.yuv # Input file
-OutputFile test.264 # Bitstream file
-MaxFrameRate 30 # Maximum frame rate [Hz]
-FramesToBeEncoded -1 # Number of frames (at input frame rate)
+OutputFile test.264 # Bitstream file
+MaxFrameRate 30 # Maximum frame rate [Hz]
+FramesToBeEncoded -1 # Number of frames (at input frame rate)
-TemporalLayerNum 2 # temporal layer number(1--4)
-IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
-SpsPpsIDStrategy 1 # sps/pps id strategy(0-4), 0: const id, 1: increasing id, 2: sps list, 3: sps list & pps increase, 4: sps/pps list
+TemporalLayerNum 2 # temporal layer number(1--4)
+IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
+SpsPpsIDStrategy 1 # sps/pps id strategy(0-4):
+ # 0: const id, 1: increasing id, 2: sps list,
+ # 3: sps list & pps increase, 4: sps/pps list
-EnableFrameCropping 1 # enable frame cropping flag
-EntropyCodingModeFlag 0 #0:cavlc 1:cabac
-MaxNalSize 0 # Unit:Byte, Maximum Nal size
-ComplexityMode 0 #0:low complexity mode 1:medium complexity mode 2:high complexity mode
+EnableFrameCropping 1 # enable frame cropping flag
+EntropyCodingModeFlag 0 # 0:cavlc 1:cabac
+MaxNalSize 0 # Unit:Byte, Maximum Nal size
+ComplexityMode 0 # 0:low complexity mode 1:medium complexity mode
+ # 2:high complexity mode
#============================== 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
+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
#============================== SOFTWARE IMPLEMENTATION ==============================
-MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;
-UseLoadBalancing 1 # under particular slice mode, when multi-threading is used, whether apply dynamic slicing for load balancing
+MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder),
+ # 1: multiple threads imp. disabled,
+ # >1: count number of threads
+UseLoadBalancing 1 # under particular slice mode, when multi-threading is used, whether apply dynamic slicing for load balancing
#============================== RATE CONTROL ==============================
-RCMode 0 # -1: rc off mode; 0: quality mode; 1: bitrate mode;
- # 2: buffer based mode,can't control bitrate; 3: bitrate mode based on timestamp input;
-TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
-MaxOverallBitrate 0 # Unit: kbps, max bitrate overall, 0 - unspecified
-EnableFrameSkip 1 #Enable Frame Skip
-MaxQp 51 # maximum quant
-MinQp 0 # minimum quant
+RCMode 0 # -1: rc off mode, 0: quality mode, 1: bitrate mode,
+ # 2: buffer based mode,can't control bitrate,
+ # 3: bitrate mode based on timestamp input
+TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
+MaxOverallBitrate 0 # Unit: kbps, max bitrate overall, 0 - unspecified
+EnableFrameSkip 1 # Enable Frame Skip
+MaxQp 51 # maximum quant
+MinQp 0 # minimum quant
#============================== DENOISE CONTROL ==============================
-EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
+EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
#============================== SCENE CHANGE DETECTION CONTROL =======================
-EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
+EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
#============================== BACKGROUND DETECTION CONTROL ==============================
-EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
+EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
#============================== ADAPTIVE QUANTIZATION CONTROL =======================
-EnableAdaptiveQuantization 1 # Enable Adaptive Quantization (1: enable, 0: disable)
+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
+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.cfg # Layer 0 configuration file
-//LayerCfg layer1.cfg # Layer 1 configuration file
-LayerCfg layer2.cfg # Layer 2 configuration file
+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
--- a/testbin/welsenc_arbitrary_res.cfg
+++ b/testbin/welsenc_arbitrary_res.cfg
@@ -1,64 +1,70 @@
# Cisco Scalable H.264/AVC Extension Encoder Configuration File
#============================== GENERAL ==============================
-UsageType 0 #0: camera video 1:screen content
-SimulcastAVC 0 #0: use SVC syntax for higher layers; 1: use Simulcast AVC
-SourceWidth 152 # Input frame width
-SourceHeight 100 # Input frame height
-InputFile ../res/Static_152_100.yuv # Input file
-OutputFile Static.264 # Bitstream file
-MaxFrameRate 30 # Maximum frame rate [Hz]
-FramesToBeEncoded -1 # Number of frames (at input frame rate)
+UsageType 0 # 0: camera video 1:screen content
+SimulcastAVC 0 # 0: use SVC syntax for higher layers; 1: use Simulcast AVC
+SourceWidth 152 # Input frame width
+SourceHeight 100 # Input frame height
+InputFile ../res/Static_152_100.yuv # Input file
+wutputFile Static.264 # Bitstream file
+MaxFrameRate 30 # Maximum frame rate [Hz]
+FramesToBeEncoded -1 # Number of frames (at input frame rate)
-TemporalLayerNum 3 # temporal layer number(1--4
-IntraPeriod 0 # Intra Period ( multiple of GoP size or -1)
-SpsPpsIDStrategy 1 # sps/pps id strategy(0-4), 0: const id, 1: increasing id, 2: sps list, 3: sps list & pps increase, 4: sps/pps list
+TemporalLayerNum 3 # temporal layer number(1--4
+IntraPeriod 0 # Intra Period ( multiple of GoP size or -1)
+SpsPpsIDStrategy 1 # sps/pps id strategy(0-4):
+ # 0: const id, 1: increasing id, 2: sps list,
+ # 3: sps list & pps increase, 4: sps/pps list
-EnableFrameCropping 1 # enable frame cropping flag
-EntropyCodingModeFlag 0 #0:cavlc 1:cabac
-MaxNalSize 0 # Unit:Byte, Maximum Nal size
-ComplexityMode 0 #0:low complexity mode 1:medium complexity mode 2:high complexity mode
+EnableFrameCropping 1 # enable frame cropping flag
+EntropyCodingModeFlag 0 # 0:cavlc 1:cabac
+MaxNalSize 0 # Unit:Byte, Maximum Nal size
+ComplexityMode 0 # 0:low complexity mode 1:medium complexity mode
+ # 2:high complexity mode
#============================== 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
+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
#============================== SOFTWARE IMPLEMENTATION ==============================
-MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;
+MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder),
+ # 1: multiple threads imp. disabled,
+ # >1: count number of threads
#============================== RATE CONTROL ==============================
-RCMode 0 # -1: rc off mode; 0: quality mode; 1: bitrate mode;
- # 2: buffer based mode,can't control bitrate; 3: bitrate mode based on timestamp input;
-TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
-MaxOverallBitrate 6000 # Unit: kbps, max bitrate overall
-MaxQp 51 # maximum quant
-MinQp 0 # minimum quant
+RCMode 0 # -1: rc off mode, 0: quality mode, 1: bitrate mode,
+ # 2: buffer based mode,can't control bitrate
+ # 3: bitrate mode based on timestamp input
+TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
+MaxOverallBitrate 6000 # Unit: kbps, max bitrate overall
+MaxQp 51 # maximum quant
+MinQp 0 # minimum quant
#============================== DENOISE CONTROL ==============================
-EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
+EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
#============================== SCENE CHANGE DETECTION CONTROL =======================
-EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
+EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
#============================== BACKGROUND DETECTION CONTROL ==============================
-EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
+EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
#============================== ADAPTIVE QUANTIZATION CONTROL =======================
-EnableAdaptiveQuantization 1 # Enable Adaptive Quantization (1: enable, 0: disable)
+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
+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_arbitrary_res.cfg # Layer 2 configuration file
+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_arbitrary_res.cfg # Layer 2 configuration file
--- a/testbin/welsenc_ios.cfg
+++ b/testbin/welsenc_ios.cfg
@@ -1,65 +1,71 @@
# Cisco Scalable H.264/AVC Extension Encoder Configuration File
#============================== GENERAL ==============================
-UsageType 0 #0: camera video 1:screen content
-SimulcastAVC 0 #0: use SVC syntax for higher layers; 1: use Simulcast AVC
-SourceWidth 320 #input video width
-SourceHeight 192 #input video height
+UsageType 0 # 0: camera video 1:screen content
+SimulcastAVC 0 # 0: use SVC syntax for higher layers; 1: use Simulcast AVC
+SourceWidth 320 # input video width
+SourceHeight 192 # input video height
InputFile ../res/CiscoVT2people_320x192_12fps.yuv # Input file
-OutputFile test.264 # Bitstream file
-MaxFrameRate 30 # Maximum frame rate [Hz]
-FramesToBeEncoded -1 # Number of frames (at input frame rate)
+OutputFile test.264 # Bitstream file
+MaxFrameRate 30 # Maximum frame rate [Hz]
+FramesToBeEncoded -1 # Number of frames (at input frame rate)
-TemporalLayerNum 3 # temporal layer number(1--4)
-IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
-SpsPpsIDStrategy 1 # sps/pps id strategy(0-4), 0: const id, 1: increasing id, 2: sps list, 3: sps list & pps increase, 4: sps/pps list
+TemporalLayerNum 3 # temporal layer number(1--4)
+IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
+SpsPpsIDStrategy 1 # sps/pps id strategy(0-4):
+ # 0: const id, 1: increasing id, 2: sps list,
+ # 3: sps list & pps increase, 4: sps/pps list
-EnableFrameCropping 1 # enable frame cropping flag
-EntropyCodingModeFlag 0 #0:cavlc 1:cabac
-MaxNalSize 0 # Unit:Byte, Maximum Nal size
-ComplexityMode 0 #0:low complexity mode 1:medium complexity mode 2:high complexity mode
+EnableFrameCropping 1 # enable frame cropping flag
+EntropyCodingModeFlag 0 # 0:cavlc 1:cabac
+MaxNalSize 0 # Unit:Byte, Maximum Nal size
+ComplexityMode 0 # 0:low complexity mode 1:medium complexity mode
+ # 2:high complexity mode
#============================== 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
+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
#============================== SOFTWARE IMPLEMENTATION ==============================
-MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;
+MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder),
+ # 1: multiple threads imp. disabled,
+ # >1: count number of threads
#============================== RATE CONTROL ==============================
-RCMode 0 # -1: rc off mode; 0: quality mode; 1: bitrate mode;
- # 2: buffer based mode,can't control bitrate; 3: bitrate mode based on timestamp input;
-TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
-MaxOverallBitrate 6000 # Unit: kbps, max bitrate overall
-EnableFrameSkip 1 #Enable Frame Skip
-MaxQp 51 # maximum quant
-MinQp 0 # minimum quant
+RCMode 0 # -1: rc off mode, 0: quality mode, 1: bitrate mode,
+ # 2: buffer based mode,can't control bitrate,
+ # 3: bitrate mode based on timestamp input
+TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
+MaxOverallBitrate 6000 # Unit: kbps, max bitrate overall
+EnableFrameSkip 1 # Enable Frame Skip
+MaxQp 51 # maximum quant
+MinQp 0 # minimum quant
#============================== DENOISE CONTROL ==============================
-EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
+EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
#============================== SCENE CHANGE DETECTION CONTROL =======================
-EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
+EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
#============================== BACKGROUND DETECTION CONTROL ==============================
-EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
+EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
#============================== ADAPTIVE QUANTIZATION CONTROL =======================
-EnableAdaptiveQuantization 1 # Enable Adaptive Quantization (1: enable, 0: disable)
+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
+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
+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
--- a/testbin/welsenc_vd_1d.cfg
+++ b/testbin/welsenc_vd_1d.cfg
@@ -1,64 +1,70 @@
# Cisco Scalable H.264/AVC Extension Encoder Configuration File
#============================== GENERAL ==============================
-UsageType 0 #0: camera video 1:screen content
-SimulcastAVC 0 #0: use SVC syntax for higher layers; 1: use Simulcast AVC
-SourceWidth 320 # Input frame width
-SourceHeight 192 # Input frame height
+UsageType 0 # 0: camera video 1:screen content
+SimulcastAVC 0 # 0: use SVC syntax for higher layers; 1: use Simulcast AVC
+SourceWidth 320 # Input frame width
+SourceHeight 192 # Input frame height
InputFile ../res/CiscoVT2people_320x192_12fps.yuv # Input file
-OutputFile test_vd_1d.264 # Bitstream file
-MaxFrameRate 30 # Maximum frame rate [Hz]
-FramesToBeEncoded -1 # Number of frames (at input frame rate)
+OutputFile test_vd_1d.264 # Bitstream file
+MaxFrameRate 30 # Maximum frame rate [Hz]
+FramesToBeEncoded -1 # Number of frames (at input frame rate)
-TemporalLayerNum 3 # temporal layer number(1--4
-IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
-SpsPpsIDStrategy 1 # sps/pps id strategy(0-4), 0: const id, 1: increasing id, 2: sps list, 3: sps list & pps increase, 4: sps/pps list
+TemporalLayerNum 3 # temporal layer number(1--4
+IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
+SpsPpsIDStrategy 1 # sps/pps id strategy(0-4):
+ # 0: const id, 1: increasing id, 2: sps list,
+ # 3: sps list & pps increase, 4: sps/pps list
-EnableFrameCropping 1 # enable frame cropping flag
-EntropyCodingModeFlag 0 #0:cavlc 1:cabac
-MaxNalSize 0 # Unit:Byte, Maximum Nal size
-ComplexityMode 0 #0:low complexity mode 1:medium complexity mode 2:high complexity mode
+EnableFrameCropping 1 # enable frame cropping flag
+EntropyCodingModeFlag 0 # 0:cavlc 1:cabac
+MaxNalSize 0 # Unit:Byte, Maximum Nal size
+ComplexityMode 0 # 0:low complexity mode, 1:medium complexity mode
+ # 2:high complexity mode
#============================== 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
+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
#============================== SOFTWARE IMPLEMENTATION ==============================
-MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;
+MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder),
+ # 1: multiple threads imp. disabled,
+ # >1: count number of threads
#============================== RATE CONTROL ==============================
-RCMode 0 # -1: rc off mode; 0: quality mode; 1: bitrate mode;
- # 2: buffer based mode,can't control bitrate; 3: bitrate mode based on timestamp input;
-TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
-MaxOverallBitrate 6000 # Unit: kbps, max bitrate overall
-MaxQp 51 # maximum quant
-MinQp 0 # minimum quant
+RCMode 0 # -1: rc off mode, 0: quality mode, 1: bitrate mode,
+ # 2: buffer based mode,can't control bitrate,
+ # 3: bitrate mode based on timestamp input
+TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
+MaxOverallBitrate 6000 # Unit: kbps, max bitrate overall
+MaxQp 51 # maximum quant
+MinQp 0 # minimum quant
#============================== DENOISE CONTROL ==============================
-EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
+EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
#============================== SCENE CHANGE DETECTION CONTROL =======================
-EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
+EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
#============================== BACKGROUND DETECTION CONTROL ==============================
-EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
+EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
#============================== ADAPTIVE QUANTIZATION CONTROL =======================
-EnableAdaptiveQuantization 0 # Enable Adaptive Quantization (1: enable, 0: disable)
+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
+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
+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
--- a/testbin/welsenc_vd_rc.cfg
+++ b/testbin/welsenc_vd_rc.cfg
@@ -1,64 +1,69 @@
# Cisco Scalable H.264/AVC Extension Encoder Configuration File
#============================== GENERAL ==============================
-UsageType 0 #0: camera video 1:screen content
-SimulcastAVC 0 #0: use SVC syntax for higher layers; 1: use Simulcast AVC
-SourceWidth 320 # Input frame width
-SourceHeight 192 # Input frame height
+UsageType 0 # 0: camera video 1:screen content
+SimulcastAVC 0 # 0: use SVC syntax for higher layers; 1: use Simulcast AVC
+SourceWidth 320 # Input frame width
+SourceHeight 192 # Input frame height
InputFile ../res/CiscoVT2people_320x192_12fps.yuv
-OutputFile test_vd_rc.264 # Bitstream file
-MaxFrameRate 30 # Maximum frame rate [Hz]
-FramesToBeEncoded -1 # Number of frames (at input frame rate), -1
+OutputFile test_vd_rc.264 # Bitstream file
+MaxFrameRate 30 # Maximum frame rate [Hz]
+FramesToBeEncoded -1 # Number of frames (at input frame rate), -1
-TemporalLayerNum 3 # temporal layer number(1--4)
-IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
-SpsPpsIDStrategy 1 # sps/pps id strategy(0-4), 0: const id, 1: increasing id, 2: sps list, 3: sps list & pps increase, 4: sps/pps list
+TemporalLayerNum 3 # temporal layer number(1--4)
+IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
+SpsPpsIDStrategy 1 # sps/pps id strategy(0-4):
+ # 0: const id, 1: increasing id, 2: sps list,
+ # 3: sps list & pps increase, 4: sps/pps list
-EnableFrameCropping 1 # enable frame cropping flag
-EntropyCodingModeFlag 0 #0:cavlc 1:cabac
-MaxNalSize 0 # Unit:Byte, Maximum Nal size
-ComplexityMode 0 #0:low complexity mode 1:medium complexity mode 2:high complexity mode
+EnableFrameCropping 1 # enable frame cropping flag
+EntropyCodingModeFlag 0 # 0:cavlc 1:cabac
+MaxNalSize 0 # Unit:Byte, Maximum Nal size
+ComplexityMode 0 # 0:low complexity mode 1:medium complexity mode 2:high complexity mode
#============================== 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
+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
#============================== SOFTWARE IMPLEMENTATION ==============================
-MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;
+MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder),
+ # 1: multiple threads imp. disabled,
+ # >1: count number of threads
#============================== RATE CONTROL ==============================
-RCMode 0 # -1: rc off mode; 0: quality mode; 1: bitrate mode;
- # 2: buffer based mode,can't control bitrate; 3: bitrate mode based on timestamp input;
-TargetBitrate 600 # Unit: kbps, controled by EnableRC also
-MaxOverallBitrate 800 # Unit: kbps, max bitrate overall
-MaxQp 51 # maximum quant
-MinQp 0 # minimum quant
+RCMode 0 # -1: rc off mode, 0: quality mode, 1: bitrate mode,
+ # 2: buffer based mode,can't control bitrate,
+ # 3: bitrate mode based on timestamp input
+TargetBitrate 600 # Unit: kbps, controled by EnableRC also
+MaxOverallBitrate 800 # Unit: kbps, max bitrate overall
+MaxQp 51 # maximum quant
+MinQp 0 # minimum quant
#============================== DENOISE CONTROL ==============================
-EnableDenoise 1 # Enable Denoise (1: enable, 0: disable)
+EnableDenoise 1 # Enable Denoise (1: enable, 0: disable)
#============================== SCENE CHANGE DETECTION CONTROL =======================
-EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
+EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
#============================== BACKGROUND DETECTION CONTROL ==============================
-EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
+EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
#============================== ADAPTIVE QUANTIZATION CONTROL =======================
-EnableAdaptiveQuantization 1 # Enable Adaptive Quantization (1: enable, 0: disable)
+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
+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
+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