View Issue Details

IDProjectCategoryView StatusLast Update
0000033JVT JM H.264/AVC reference softwareencoderpublic2007-02-15 12:23
Reportersudiptopatra Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionunable to reproduce 
Product VersionJM 12.0 
Summary0000033: Picture Interlace
DescriptionI am running the reference software on a pentium 4 desktop with windows xp. Normally the encoder works fine, But whenever i enable "PicInterlace" or "MbInterlace" the encoder crashes. It does not generates a encoded bitream,reconstructed file and trace file(if enabled). It is mentioned that in the this release there is support for PicInterlace.
TagsNo tags attached.

Activities

Karsten Suehring

2007-01-30 10:42

administrator   ~0000048

Can you please provide your complete config file?

2007-01-30 10:53

 

encoder.cfg (28,763 bytes)   
# New Input File Format is as follows
# <ParameterName> = <ParameterValue> # Comment
#
# See configfile.h for a list of supported ParameterNames


##########################################################################################
# Files
##########################################################################################
InputFile             = "calender.yuv"       # Input sequence
InputHeaderLength     = 0      # If the inputfile has a header, state it's length in byte here
StartFrame            = 0      # Start frame for encoding. (0-N)
FramesToBeEncoded     = 4      # Number of frames to be coded
FrameRate             = 25.0   # Frame Rate per second (0.1-100.0)
SourceWidth           = 352    # Frame width
SourceHeight          = 288    # Frame height
TraceFile             = "trace_enc.txt"
ReconFile             = "test_rec.yuv"
OutputFile            = "test.264"

##########################################################################################
# Encoder Control
##########################################################################################
ProfileIDC            = 77 # Profile IDC (66=baseline, 77=main, 88=extended; FREXT Profiles: 100=High, 110=High 10, 122=High 4:2:2, 144=High 4:4:4, for params see below)
LevelIDC              = 20  # Level IDC   (e.g. 20 = level 2.0)

IntraPeriod           = 1   # Period of I-Frames (0=only first)
EnableOpenGOP         = 0   # Support for open GOPs (0: disabled, 1: enabled)
IDRIntraEnable        = 0   # Force IDR Intra  (0=disable 1=enable)
QPISlice              = 28  # Quant. param for I Slices (0-51)
QPPSlice              = 28  # Quant. param for P Slices (0-51)
FrameSkip             = 0   # Number of frames to be skipped in input (e.g 2 will code every third frame)
ChromaQPOffset        = 0   # Chroma QP offset (-51..51)

DisableSubpelME       = 0   # Disable Subpixel Motion Estimation (0=off/default, 1=on)
SearchRange           = 32  # Max search range

MEDistortionFPel      = 0   # Select error metric for Full-Pel ME    (0: SAD, 1: SSE, 2: Hadamard SAD)
MEDistortionHPel      = 2   # Select error metric for Half-Pel ME    (0: SAD, 1: SSE, 2: Hadamard SAD)
MEDistortionQPel      = 2   # Select error metric for Quarter-Pel ME (0: SAD, 1: SSE, 2: Hadamard SAD)
MDDistortion          = 2   # Select error metric for Mode Decision  (0: SAD, 1: SSE, 2: Hadamard SAD)
ChromaMCBuffer        = 1   # Calculate Color component interpolated values in advance and store them.
                            # Provides a trade-off between memory and computational complexity 
                            # (0: disabled/default, 1: enabled)
ChromaMEEnable        = 0   # Take into account Color component information during ME 
                            # (0: only first component/default, 1: All Color components)

NumberReferenceFrames = 5   # Number of previous frames used for inter motion search (1-16)

PList0References      = 0   # P slice List 0 reference override (0 disable, N <= NumberReferenceFrames)
Log2MaxFNumMinus4     = 0   # Sets log2_max_frame_num_minus4 (-1 : based on FramesToBeEncoded/Auto, >=0 : Log2MaxFNumMinus4)
Log2MaxPOCLsbMinus4   = -1  # Sets log2_max_pic_order_cnt_lsb_minus4 (-1 : Auto, >=0 : Log2MaxPOCLsbMinus4)

GenerateMultiplePPS   = 0  # Transmit multiple parameter sets. Currently parameters basically enable all WP modes (0: diabled, 1: enabled)
ResendPPS             = 0  # Resend PPS (with pic_parameter_set_id 0) for every coded Frame/Field pair (0: disabled, 1: enabled)

MbLineIntraUpdate     = 0   # Error robustness(extra intra macro block updates)(0=off, N: One GOB every N frames are intra coded)
RandomIntraMBRefresh  = 0   # Forced intra MBs per picture
InterSearch16x16      = 1   # Inter block search 16x16 (0=disable, 1=enable)
InterSearch16x8       = 1   # Inter block search 16x8  (0=disable, 1=enable)
InterSearch8x16       = 1   # Inter block search  8x16 (0=disable, 1=enable)
InterSearch8x8        = 1   # Inter block search  8x8  (0=disable, 1=enable)
InterSearch8x4        = 1   # Inter block search  8x4  (0=disable, 1=enable)
InterSearch4x8        = 1   # Inter block search  4x8  (0=disable, 1=enable)
InterSearch4x4        = 1   # Inter block search  4x4  (0=disable, 1=enable)

IntraDisableInterOnly  = 0  # Apply Disabling Intra conditions only to Inter Slices (0:disable/default,1: enable)
Intra4x4ParDisable     = 0  # Disable Vertical & Horizontal 4x4	
Intra4x4DiagDisable    = 0  # Disable Diagonal 45degree 4x4
Intra4x4DirDisable     = 0  # Disable Other Diagonal 4x4
Intra16x16ParDisable   = 0  # Disable Vertical & Horizontal 16x16
Intra16x16PlaneDisable = 0  # Disable Planar 16x16
ChromaIntraDisable     = 0  # Disable Intra Chroma modes other than DC
EnableIPCM             = 1  # Enable IPCM macroblock mode

DisposableP            = 0  # Enable Disposable P slices in the primary layer (0: disable/default, 1: enable)
DispPQPOffset          = 0  # Quantizer offset for disposable P slices (0: default)

##########################################################################################
# B Slices
##########################################################################################

NumberBFrames          = 0  # Number of B coded frames inserted (0=not used)  
QPBSlice               = 30 # Quant. param for B slices (0-51)
BRefPicQPOffset        = -1 # Quantization offset for reference B coded pictures (-51..51)
DirectModeType         = 1  # Direct Mode Type (0:Temporal 1:Spatial)
DirectInferenceFlag    = 1  # Direct Inference Flag (0: Disable 1: Enable)
BList0References       = 0  # B slice List 0 reference override (0 disable, N <= NumberReferenceFrames)
BList1References       = 1  # B slice List 1 reference override (0 disable, N <= NumberReferenceFrames)
                            # 1 List1 reference is usually recommended for normal GOP Structures. 
                            # A larger value is usually more appropriate if a more flexible 
                            # structure is used (i.e. using HierarchicalCoding)

BReferencePictures    =  0  # Referenced B coded pictures (0=off, 1=on)

HierarchicalCoding      =  0  # B hierarchical coding (0= off, 1= 2 layers, 2= 2 full hierarchy, 3 = explicit)
HierarchyLevelQPEnable  =  1  # Adjust QP based on hierarchy level (in increments of 1). Overrides BRefPicQPOffset behavior.(0=off, 1=on)
ExplicitHierarchyFormat = "b1r0b3r0b2e2b0e2b4r2" # Explicit Enhancement GOP. Format is {FrameDisplay_orderReferenceQP}. 
                                                 # Valid values for reference type is r:reference, e:non reference.
ReferenceReorder      =  1  # Reorder References according to Poc distance for HierarchicalCoding (0=off, 1=enable)
PocMemoryManagement   =  1  # Memory management based on Poc Distances for HierarchicalCoding (0=off, 1=on)

BiPredMotionEstimation = 1   # Enable Bipredictive based Motion Estimation (0:disabled, 1:enabled)
BiPredMERefinements    = 3   # Bipredictive ME extra refinements (0: single, N: N extra refinements (1 default)
BiPredMESearchRange    = 16  # Bipredictive ME Search range (8 default). Note that range is halved for every extra refinement.
BiPredMESubPel         = 2   # Bipredictive ME Subpixel Consideration (0: disabled, 1: single level, 2: dual level)


##########################################################################################
# SP Frames
##########################################################################################

SPPicturePeriodicity  = 0                  # SP-Picture Periodicity (0=not used)
QPSPSlice             = 36                 # Quant. param of SP-Slices for Prediction Error (0-51)
QPSP2Slice            = 35                 # Quant. param of SP-Slices for Predicted Blocks (0-51)	
SI_FRAMES             = 0                  # SI frame encoding flag (0=not used, 1=used)
SP_output             = 0                  # Controls whether coefficients will be output to encode switching SP frames (0=no, 1=yes)
SP_output_name        = "low_quality.dat"  # Filename for SP output coefficients	
SP2_FRAMES            = 0                  # switching SP frame encoding flag (0=not used, 1=used)
SP2_input_name1       = "high_quality.dat" # Filename for the first swithed bitstream coefficients
SP2_input_name2       = "low_quality.dat"  # Filename for the second switched bitstream coefficients

##########################################################################################
# Output Control, NALs
##########################################################################################

SymbolMode             =  0  # Symbol mode (Entropy coding method: 0=UVLC, 1=CABAC)
OutFileMode            =  0  # Output file mode, 0:Annex B, 1:RTP
PartitionMode          =  0  # Partition Mode, 0: no DP, 1: 3 Partitions per Slice

##########################################################################################
# CABAC context initialization
##########################################################################################

ContextInitMethod        =  1     # Context init (0: fixed, 1: adaptive)
FixedModelNumber         =  0     # model number for fixed decision for inter slices ( 0, 1, or 2 )

##########################################################################################
# Interlace Handling
#########################################################################################

PicInterlace             =  0     # Picture AFF    (0: frame coding, 1: field coding, 2:adaptive frame/field coding)
MbInterlace              =  0     # Macroblock AFF (0: frame coding, 1: field coding, 2:adaptive frame/field coding)
IntraBottom              =  0     # Force Intra Bottom at GOP Period

##########################################################################################
# Weighted Prediction
#########################################################################################

WeightedPrediction       =  0     # P picture Weighted Prediction (0=off, 1=explicit mode)  
WeightedBiprediction     =  0     # B picture Weighted Prediciton (0=off, 1=explicit mode,  2=implicit mode)  
UseWeightedReferenceME   =  0     # Use weighted reference for ME (0=off, 1=on)

##########################################################################################
# Picture based Multi-pass encoding
#########################################################################################

RDPictureDecision        =  0     # Perform RD optimal decision between different coded picture versions. 
                                  # If GenerateMultiplePPS is enabled then this will test different WP methods. 
                                  # Otherwise it will test QP +-1 (0: disabled, 1: enabled)
RDPictureIntra           =  0     # Perform RD optimal decision also for intra coded pictures (0: disabled (default), 1: enabled). 
RDPSliceWeightOnly       =  0     # Only consider Weighted Prediction for P slices in Picture RD decision. (0: disabled, 1: enabled (default))
RDBSliceWeightOnly       =  0     # Only consider Weighted Prediction for B slices in Picture RD decision. (0: disabled (default), 1: enabled )

##########################################################################################
# Loop filter parameters
##########################################################################################

LoopFilterParametersFlag = 1      # Configure loop filter (0=parameter below ingored, 1=parameters sent)
LoopFilterDisable        = 1      # Disable loop filter in slice header (0=Filter, 1=No Filter)
LoopFilterAlphaC0Offset  = 0      # Alpha & C0 offset div. 2, {-6, -5, ... 0, +1, .. +6}
LoopFilterBetaOffset     = 0      # Beta offset div. 2, {-6, -5, ... 0, +1, .. +6}

##########################################################################################
# Error Resilience / Slices
##########################################################################################

SliceMode             =  0   # Slice mode (0=off 1=fixed #mb in slice 2=fixed #bytes in slice 3=use callback)
SliceArgument         = 50   # Slice argument (Arguments to modes 1 and 2 above)

num_slice_groups_minus1 = 0  # Number of Slice Groups Minus 1, 0 == no FMO, 1 == two slice groups, etc.
slice_group_map_type   	= 0  # 0:  Interleave, 1: Dispersed,    2: Foreground with left-over, 
                             # 3:  Box-out,    4: Raster Scan   5: Wipe
                             # 6:  Explicit, slice_group_id read from SliceGroupConfigFileName
slice_group_change_direction_flag = 0    # 0: box-out clockwise, raster scan or wipe right, 
                                         # 1: box-out counter clockwise, reverse raster scan or wipe left
slice_group_change_rate_minus1    = 85   # 
SliceGroupConfigFileName          = "sg0conf.cfg"   # Used for slice_group_map_type 0, 2, 6

UseRedundantPicture   = 0    # 0: not used, 1: enabled
NumRedundantHierarchy = 1    # 0-4
PrimaryGOPLength      = 2   # GOP length for redundant allocation (1-16)
                             # NumberReferenceFrames must be no less than PrimaryGOPLength when redundant slice enabled
NumRefPrimary         = 1    # Actually used number of references for primary slices (1-16)

##########################################################################################
# Search Range Restriction / RD Optimization 
##########################################################################################

RestrictSearchRange    =  2  # restriction for (0: blocks and ref, 1: ref, 2: no restrictions)
RDOptimization         =  1  # rd-optimized mode decision 
                             # 0: RD-off (Low complexity mode)
                             # 1: RD-on (High complexity mode)
                             # 2: RD-on (Fast high complexity mode - not work in FREX Profiles)
                             # 3: with losses
CtxAdptLagrangeMult    =  0  # Context Adaptive Lagrange Multiplier 
                             # 0: disabled (default)
						                 # 1: enabled (works best when RDOptimization=0)
FastCrIntraDecision    =  0  # Fast Chroma intra mode decision (0:off, 1:on)                           
DisableThresholding    =  0  # Disable Thresholding of Transform Coefficients (0:off, 1:on)
DisableBSkipRDO        =  0  # Disable B Skip Mode consideration from RDO Mode decision (0:off, 1:on)
SkipIntraInInterSlices =  0  # Skips Intra mode checking in inter slices if certain mode decisions are satisfied (0: off, 1: on)

# Explicit Lambda Usage
UseExplicitLambdaParams  =  0    # Use explicit lambda scaling parameters (0:disabled, 1:enable lambda weight, 2: use explicit lambda value)
FixedLambdaIslice        =  0.1  # Fixed Lambda value for I slices
FixedLambdaPslice        =  0.1  # Fixed Lambda value for P slices
FixedLambdaBslice        =  0.1  # Fixed Lambda value for B slices
FixedLambdaRefBslice     =  0.1  # Fixed Lambda value for Referenced B slices
FixedLambdaSPslice       =  0.1  # Fixed Lambda value for SP slices
FixedLambdaSIslice       =  0.1  # Fixed Lambda value for SI slices

LambdaWeightIslice       =  0.65 # scaling param for I slices. This will be used as a multiplier i.e. lambda=LambdaWeightISlice * 2^((QP-12)/3)
LambdaWeightPslice       =  0.68 # scaling param for P slices. This will be used as a multiplier i.e. lambda=LambdaWeightPSlice * 2^((QP-12)/3)
LambdaWeightBslice       =  2.00 # scaling param for B slices. This will be used as a multiplier i.e. lambda=LambdaWeightBSlice * 2^((QP-12)/3)
LambdaWeightRefBslice    =  1.50 # scaling param for Referenced B slices. This will be used as a multiplier i.e. lambda=LambdaWeightRefBSlice * 2^((QP-12)/3)
LambdaWeightSPslice      =  1.50 # scaling param for SP slices. This will be used as a multiplier i.e. lambda=LambdaWeightSPSlice * 2^((QP-12)/3)
LambdaWeightSIslice      =  0.65 # scaling param for SI slices. This will be used as a multiplier i.e. lambda=LambdaWeightSISlice * 2^((QP-12)/3)

LossRateA                =  5  # expected packet loss rate of the channel for the first partition, only valid if RDOptimization = 3
LossRateB                =  0  # expected packet loss rate of the channel for the second partition, only valid if RDOptimization = 3
LossRateC                =  0  # expected packet loss rate of the channel for the third partition, only valid if RDOptimization = 3
NumberOfDecoders         = 30  # Numbers of decoders used to simulate the channel, only valid if RDOptimization = 3
RestrictRefFrames        =  0  # Doesnt allow reference to areas that have been intra updated in a later frame.

##########################################################################################
# Additional Stuff
#########################################################################################

UseConstrainedIntraPred  =  0  # If 1, Inter pixels are not used for Intra macroblock prediction.
LastFrameNumber          =  0  # Last frame number that have to be coded (0: no effect)
ChangeQPI                = 16  # QP (I-slices)  for second part of sequence (0-51)
ChangeQPP                = 16  # QP (P-slices)  for second part of sequence (0-51)
ChangeQPB                = 18  # QP (B-slices)  for second part of sequence (0-51)
ChangeQPBSRefOffset      =  2  # QP offset (stored B-slices)  for second part of sequence (-51..51)
ChangeQPStart            =  0  # Frame no. for second part of sequence (0: no second part)

NumberofLeakyBuckets     =  8                      # Number of Leaky Bucket values
LeakyBucketRateFile      =  "leakybucketrate.cfg"  # File from which encoder derives rate values
LeakyBucketParamFile     =  "leakybucketparam.cfg" # File where encoder stores leakybucketparams

NumberFramesInEnhancementLayerSubSequence  = 0  # number of frames in the Enhanced Scalability Layer(0: no Enhanced Layer)
NumberOfFrameInSecondIGOP                  = 0  # Number of frames to be coded in the second IGOP

SparePictureOption        =  0   # (0: no spare picture info, 1: spare picture available)
SparePictureDetectionThr  =  6   # Threshold for spare reference pictures detection
SparePicturePercentageThr = 92   # Threshold for the spare macroblock percentage

PicOrderCntType           = 0    # (0: POC mode 0, 1: POC mode 1, 2: POC mode 2)

########################################################################################
#Rate control
########################################################################################

RateControlEnable       = 0     # 0 Disable, 1 Enable
Bitrate                 = 45020 # Bitrate(bps)
InitialQP               = 20     # Initial Quantization Parameter for the first I frame
                                # InitialQp depends on two values: Bits Per Picture,
                                # and the GOP length
BasicUnit               = 22    # Number of MBs in the basic unit
                                # should be a fractor of the total number 
                                # of MBs in a frame
ChannelType             = 0     # type of channel( 1=time varying channel; 0=Constant channel)
RCUpdateMode            = 0     # Rate Control type. Modes supported : 
                                # 0 = original JM rate control, 
                                # 1 = rate control that is applied to all frames regardless of the slice type, 
                                # 2 = original plus intelligent QP selection for I and B slices (including Hierarchical), 
                                # 3 = original + hybrid quadratic rate control for I and B slice using bit rate statistics
                                #
RCISliceBitRatio        = 1.0   # target ratio of bits for I-coded pictures compared to P-coded Pictures (for RCUpdateMode=3)
RCBSliceBitRatio0       = 0.5   # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 0 (for RCUpdateMode=3)
RCBSliceBitRatio1       = 0.25  # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 1 (for RCUpdateMode=3)
RCBSliceBitRatio2       = 0.25  # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 2 (for RCUpdateMode=3)
RCBSliceBitRatio3       = 0.25  # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 3 (for RCUpdateMode=3)
RCBSliceBitRatio4       = 0.25  # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 4 (for RCUpdateMode=3)
RCBoverPRatio           = 0.45  # ratio of bit rate usage of a B-coded picture over a P-coded picture for the SAME QP (for RCUpdateMode=3)
RCIoverPRatio           = 3.80  # ratio of bit rate usage of an I-coded picture over a P-coded picture for the SAME QP (for RCUpdateMode=3)

########################################################################################
#Fast Mode Decision
########################################################################################
EarlySkipEnable         = 0     # Early skip detection (0: Disable 1: Enable)
SelectiveIntraEnable    = 0     # Selective Intra mode decision (0: Disable 1: Enable)

########################################################################################
#FREXT stuff
########################################################################################

YUVFormat               = 1     # YUV format (0=4:0:0, 1=4:2:0, 2=4:2:2, 3=4:4:4)
RGBInput                = 0     # 1=RGB input, 0=GBR or YUV input
BitDepthLuma            = 8     # Bit Depth for Luminance (8...12 bits)
BitDepthChroma          = 8     # Bit Depth for Chrominance (8...12 bits)
CbQPOffset              = 0     # Chroma QP offset for Cb-part (-51..51)
CrQPOffset              = 0     # Chroma QP offset for Cr-part (-51..51)
Transform8x8Mode        = 0     # (0: only 4x4 transform, 1: allow using 8x8 transform additionally, 2: only 8x8 transform)
ReportFrameStats        = 1     # (0:Disable Frame Statistics 1: Enable)
DisplayEncParams        = 1     # (0:Disable Display of Encoder Params 1: Enable)
Verbose                 = 2     # level of display verboseness (0:short, 1:normal, 2:detailed)

########################################################################################
#Q-Matrix (FREXT)
########################################################################################
QmatrixFile              = "q_matrix.cfg"

ScalingMatrixPresentFlag = 0    # Enable Q_Matrix  (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag0  = 3    # Intra4x4_Luma    (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag1  = 3    # Intra4x4_ChromaU (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag2  = 3    # Intra4x4_chromaV (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag3  = 3    # Inter4x4_Luma    (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag4  = 3    # Inter4x4_ChromaU (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag5  = 3    # Inter4x4_ChromaV (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag6  = 3    # Intra8x8_Luma    (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)
ScalingListPresentFlag7  = 3    # Inter8x8_Luma    (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS)

########################################################################################
#Rounding Offset control
########################################################################################

OffsetMatrixPresentFlag  = 0    # Enable Explicit Offset Quantization Matrices  (0: disable 1: enable)
QOffsetMatrixFile        = "q_offset.cfg" # Explicit Quantization Matrices file

AdaptiveRounding         = 0   # Enable Adaptive Rounding based on JVT-N011 (0: disable, 1: enable)
AdaptRndPeriod           = 0    # Period in terms of MBs for updating rounding offsets. 
                                # 0 performs update at the picture level. Default is 16. 1 is as in JVT-N011.
AdaptRndChroma           = 0    # Enables coefficient rounding adaptation for chroma

AdaptRndWFactorIRef      = 4    # Adaptive Rounding Weight for I/SI slices in reference pictures /4096
AdaptRndWFactorPRef      = 4    # Adaptive Rounding Weight for P/SP slices in reference pictures /4096
AdaptRndWFactorBRef      = 4    # Adaptive Rounding Weight for B slices in reference pictures /4096
AdaptRndWFactorINRef     = 4    # Adaptive Rounding Weight for I/SI slices in non reference pictures /4096
AdaptRndWFactorPNRef     = 4    # Adaptive Rounding Weight for P/SP slices in non reference pictures /4096
AdaptRndWFactorBNRef     = 4    # Adaptive Rounding Weight for B slices in non reference pictures /4096

AdaptRndCrWFactorIRef    = 4    # Chroma Adaptive Rounding Weight for I/SI slices in reference pictures /4096
AdaptRndCrWFactorPRef    = 4    # Chroma Adaptive Rounding Weight for P/SP slices in reference pictures /4096
AdaptRndCrWFactorBRef    = 4    # Chroma Adaptive Rounding Weight for B slices in reference pictures /4096
AdaptRndCrWFactorINRef   = 4    # Chroma Adaptive Rounding Weight for I/SI slices in non reference pictures /4096
AdaptRndCrWFactorPNRef   = 4    # Chroma Adaptive Rounding Weight for P/SP slices in non reference pictures /4096
AdaptRndCrWFactorBNRef   = 4    # Chroma Adaptive Rounding Weight for B slices in non reference pictures /4096

########################################################################################
#Lossless Coding (FREXT)
########################################################################################

QPPrimeYZeroTransformBypassFlag = 0    # Enable lossless coding when qpprime_y is zero (0 Disabled, 1 Enabled)

########################################################################################
#Fast Motion Estimation Control Parameters
########################################################################################

SearchMode               = 3    # Use fast motion estimation (0=disable/default, 1=UMHexagonS, 
                                # 2=Simplified UMHexagonS, 3=EPZS patterns)
UMHexDSR                 = 1    # Use Search Range Prediction. Only for UMHexagonS method
                                # (0:disable, 1:enabled/default)
UMHexScale               = 3    # Use Scale_factor for different image sizes. Only for UMHexagonS method
                                # (0:disable, 3:/default)
                                # Increasing value can speed up Motion Search.

EPZSPattern              = 2    # Select EPZS primary refinement pattern.
                                # (0: small diamond, 1: square, 2: extended diamond/default, 
								                # 3: large diamond) 
EPZSDualRefinement       = 3    # Enables secondary refinement pattern.
                                # (0:disabled, 1: small diamond, 2: square, 
                                # 3: extended diamond/default, 4: large diamond) 
EPZSFixedPredictors      = 2    # Enables Window based predictors
                                # (0:disabled, 1: P only, 2: P and B/default)
EPZSTemporal             = 1    # Enables temporal predictors 
                                # (0: disabled, 1: enabled/default)                         
EPZSSpatialMem           = 1    # Enables spatial memory predictors 
                                # (0: disabled, 1: enabled/default)
EPZSMinThresScale        = 0    # Scaler for EPZS minimum threshold (0 default). 
                                # Increasing value can speed up encoding.
EPZSMedThresScale        = 1    # Scaler for EPZS median threshold (1 default). 
                                # Increasing value can speed up encoding.
EPZSMaxThresScale        = 2    # Scaler for EPZS maximum threshold (1 default).
                                # Increasing value can speed up encoding.
EPZSSubPelME             = 1    # EPZS Subpel ME consideration
EPZSSubPelMEBiPred       = 1    # EPZS Subpel ME consideration for BiPred partitions
EPZSSubPelThresScale     = 2    # EPZS Subpel ME Threshold scaler
EPZSSubPelGrid           = 0    # Perform EPZS using a subpixel grid

Generate_SEIVUI          = 0
SEIMessageText           = "H.264/AVC Encoder"

encoder.cfg (28,763 bytes)   

Karsten Suehring

2007-01-30 11:43

administrator   ~0000050

Last edited: 2007-01-30 11:43

I just tried Visual Studio 6, VS 2003 and VS 2005 with the ITU VCEG version of mobile and calendar as test sequence.

Maybe the problem was not triggered because of using a different test sequence, but basically the code has been tested for interlaced before releasing.

Try cleaning your work space (delete all intermediate files) and make a fresh build.

Reopen the issue if the problem persists or you can add information about different build environment/reproducibility.

sudiptopatra

2007-01-30 13:02

reporter   ~0000051

I tried whatever suggested(cleanaing the work space), but the problem still persists. I am using a very old version of microsoft visual studio. VS 6.0 (1994-1998). But i dont think it should be an isssue.

Karsten Suehring

2007-01-30 15:44

administrator   ~0000052

I still think this might be a local problem. Do you run unmodified code?
Can you provide the used frames of your sequence?

2007-01-31 07:14

 

encoder.zip (7,315 bytes)

sudiptopatra

2007-01-31 07:19

reporter   ~0000053

Steps to recreate the condition:
1) Extract the files from "jm12.0" archive, available in the web.
2) Replace the encoder configuration file with the attached one an enable "PicInterlace".
3) Compile in MS Visual studio 6.0
4) The YUV file can be obtained from the conformance streams available on the web. (Not able to attach because of the size limitation). The file name is "CAPCMNL1_Sand_E.zip" provided by Broadcom.

Karsten Suehring

2007-01-31 10:53

administrator   ~0000054

Last edited: 2007-01-31 10:56

Strange. I exactly followed these steps and still cannot reproduce the crash.

Maybe you have triggered a compiler bug. I have patched my VS6 with Service Pack 6. Can you check if you have this latest update?

Karsten Suehring

2007-02-15 12:23

administrator   ~0000055

Closing again since there are no further informations and none of the developers were able to reproduce.

Issue History

Date Modified Username Field Change
2007-01-30 08:03 sudiptopatra New Issue
2007-01-30 10:42 Karsten Suehring Note Added: 0000048
2007-01-30 10:42 Karsten Suehring Status new => feedback
2007-01-30 10:53 sudiptopatra File Added: encoder.cfg
2007-01-30 11:43 Karsten Suehring Status feedback => closed
2007-01-30 11:43 Karsten Suehring Note Added: 0000050
2007-01-30 11:43 Karsten Suehring Resolution open => unable to reproduce
2007-01-30 11:43 Karsten Suehring Note Edited: 0000050
2007-01-30 13:02 sudiptopatra Status closed => feedback
2007-01-30 13:02 sudiptopatra Resolution unable to reproduce => reopened
2007-01-30 13:02 sudiptopatra Note Added: 0000051
2007-01-30 15:44 Karsten Suehring Note Added: 0000052
2007-01-31 07:14 sudiptopatra File Added: encoder.zip
2007-01-31 07:19 sudiptopatra Note Added: 0000053
2007-01-31 10:53 Karsten Suehring Note Added: 0000054
2007-01-31 10:56 Karsten Suehring Note Edited: 0000054
2007-01-31 10:56 Karsten Suehring Note Edited: 0000054
2007-02-15 12:23 Karsten Suehring Status feedback => closed
2007-02-15 12:23 Karsten Suehring Note Added: 0000055
2007-02-15 12:23 Karsten Suehring Resolution reopened => unable to reproduce