| @@ -1,64 +1,64 @@ |
| 1 | # Cisco Scalable H.264/AVC Extension Encoder Configuration File | 1 | # Cisco Scalable H.264/AVC Extension Encoder Configuration File |
| 2 | | 2 | |
| 3 | #============================== GENERAL ============================== | 3 | #============================== GENERAL ============================== |
| 4 | OutputFile test.264 # Bitstream file | 4 | OutputFile test.264 # Bitstream file |
| 5 | MaxFrameRate 30 # Maximum frame rate [Hz] | 5 | MaxFrameRate 30 # Maximum frame rate [Hz] |
| 6 | FramesToBeEncoded -1 # Number of frames (at input frame rate) | 6 | FramesToBeEncoded -1 # Number of frames (at input frame rate) |
| 7 | | 7 | |
| 8 | GOPSize 4 # GOP Size (at maximum frame rate), 16 | 8 | TemporalLayerNum 3 # temporal layer number(1--4) |
| 9 | IntraPeriod 0 # Intra Period ( multipler of GoP size or -1) | 9 | IntraPeriod 0 # Intra Period ( multipler of GoP size or -1) |
| 10 | EnableSpsPpsIDAddition 1 | 10 | EnableSpsPpsIDAddition 1 |
| 11 | | 11 | |
| 12 | EnableFrameCropping 1 # enable frame cropping flag | 12 | EnableFrameCropping 1 # enable frame cropping flag |
| 13 | | 13 | |
| 14 | #============================== LOOP FILTER ============================== | 14 | #============================== LOOP FILTER ============================== |
| 15 | LoopFilterDisableIDC 0 # Loop filter idc (0: on, 1: off, | 15 | LoopFilterDisableIDC 0 # Loop filter idc (0: on, 1: off, |
| 16 | # 2: on except for slice boundaries, | 16 | # 2: on except for slice boundaries, |
| 17 | # 3: two stage. slice boundries on in second stage | 17 | # 3: two stage. slice boundries on in second stage |
| 18 | # 4: Luma on but Chroma off (w.r.t. idc=0) | 18 | # 4: Luma on but Chroma off (w.r.t. idc=0) |
| 19 | # 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2) | 19 | # 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2) |
| 20 | # 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3) | 20 | # 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3) |
| 21 | LoopFilterAlphaC0Offset 0 # AlphaOffset(-6..+6): valid range | 21 | LoopFilterAlphaC0Offset 0 # AlphaOffset(-6..+6): valid range |
| 22 | LoopFilterBetaOffset 0 # BetaOffset (-6..+6): valid range | 22 | LoopFilterBetaOffset 0 # BetaOffset (-6..+6): valid range |
| 23 | | 23 | |
| 24 | InterLayerLoopFilterDisableIDC 0 # filter idc for inter-layer deblocking (0: on, 1: off, | 24 | InterLayerLoopFilterDisableIDC 0 # filter idc for inter-layer deblocking (0: on, 1: off, |
| 25 | # 2: on except for slice boundaries, | 25 | # 2: on except for slice boundaries, |
| 26 | # 3: two stage. slice boundries on in second stage | 26 | # 3: two stage. slice boundries on in second stage |
| 27 | # 4: Luma on but Chroma off in enh. layer (w.r.t. idc=0) | 27 | # 4: Luma on but Chroma off in enh. layer (w.r.t. idc=0) |
| 28 | # 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2) | 28 | # 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2) |
| 29 | # 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3) | 29 | # 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3) |
| 30 | InterLayerLoopFilterAlphaC0Offset 0 # AlphaOffset for inter-layer deblocking | 30 | InterLayerLoopFilterAlphaC0Offset 0 # AlphaOffset for inter-layer deblocking |
| 31 | InterLayerLoopFilterBetaOffset 0 # BetaOffset for inter-layer deblocking | 31 | InterLayerLoopFilterBetaOffset 0 # BetaOffset for inter-layer deblocking |
| 32 | | 32 | |
| 33 | #============================== SOFTWARE IMPLEMENTATION ============================== | 33 | #============================== SOFTWARE IMPLEMENTATION ============================== |
| 34 | MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads; | 34 | MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads; |
| 35 | | 35 | |
| 36 | #============================== RATE CONTROL ============================== | 36 | #============================== RATE CONTROL ============================== |
| 37 | EnableRC 1 # ENABLE RC | 37 | EnableRC 1 # ENABLE RC |
| 38 | TargetBitrate 5000 # Unit: kbps, controled by EnableRC also | 38 | TargetBitrate 5000 # Unit: kbps, controled by EnableRC also |
| 39 | EnableFrameSkip 1 #Enable Frame Skip | 39 | EnableFrameSkip 1 #Enable Frame Skip |
| 40 | | 40 | |
| 41 | #============================== DENOISE CONTROL ============================== | 41 | #============================== DENOISE CONTROL ============================== |
| 42 | EnableDenoise 0 # Enable Denoise (1: enable, 0: disable) | 42 | EnableDenoise 0 # Enable Denoise (1: enable, 0: disable) |
| 43 | | 43 | |
| 44 | #============================== SCENE CHANGE DETECTION CONTROL ======================= | 44 | #============================== SCENE CHANGE DETECTION CONTROL ======================= |
| 45 | EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable) | 45 | EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable) |
| 46 | | 46 | |
| 47 | #============================== BACKGROUND DETECTION CONTROL ============================== | 47 | #============================== BACKGROUND DETECTION CONTROL ============================== |
| 48 | EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable) | 48 | EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable) |
| 49 | | 49 | |
| 50 | #============================== ADAPTIVE QUANTIZATION CONTROL ======================= | 50 | #============================== ADAPTIVE QUANTIZATION CONTROL ======================= |
| 51 | EnableAdaptiveQuantization 1 # Enable Adaptive Quantization (1: enable, 0: disable) | 51 | EnableAdaptiveQuantization 1 # Enable Adaptive Quantization (1: enable, 0: disable) |
| 52 | | 52 | |
| 53 | #============================== LONG TERM REFERENCE CONTROL ============================== | 53 | #============================== LONG TERM REFERENCE CONTROL ============================== |
| 54 | EnableLongTermReference 0 # Enable Long Term Reference (1: enable, 0: disable) | 54 | EnableLongTermReference 0 # Enable Long Term Reference (1: enable, 0: disable) |
| 55 | LtrMarkPeriod 30 # Long Term Reference Marking Period | 55 | LtrMarkPeriod 30 # Long Term Reference Marking Period |
| 56 | | 56 | |
| 57 | #============================== LAYER DEFINITION ============================== | 57 | #============================== LAYER DEFINITION ============================== |
| 58 | PrefixNALAddingCtrl 0 # Control flag of adding prefix unit (0: off, 1: on) | 58 | PrefixNALAddingCtrl 0 # Control flag of adding prefix unit (0: off, 1: on) |
| 59 | # It shall always be on in SVC contexts (i.e. when there are CGS/MGS/spatial enhancement layers) | 59 | # It shall always be on in SVC contexts (i.e. when there are CGS/MGS/spatial enhancement layers) |
| 60 | # Can be disabled when no inter spatial layer prediction in case of its value as 0 | 60 | # Can be disabled when no inter spatial layer prediction in case of its value as 0 |
| 61 | NumLayers 1 # Number of layers | 61 | NumLayers 1 # Number of layers |
| 62 | //LayerCfg layer0.cfg # Layer 0 configuration file | 62 | //LayerCfg layer0.cfg # Layer 0 configuration file |
| 63 | //LayerCfg layer1.cfg # Layer 1 configuration file | 63 | //LayerCfg layer1.cfg # Layer 1 configuration file |
| 64 | LayerCfg layer2.cfg # Layer 2 configuration file | 64 | LayerCfg layer2.cfg # Layer 2 configuration file |