shithub: openh264

Download patch

ref: ae06ed8973efdbbe2723f18563a789d5991df1a5
parent: 26e1f94bce19cbd01184159cf5a8c6b9a97bad47
author: Guangwei Wang <[email protected]>
date: Thu Oct 26 10:29:22 EDT 2017

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