Opened 11 years ago Closed 11 years ago #1160 closed defect (worksforme)Seg Fault with RExt-4.0 (same issue was with rc1/rc2 but did not get chance to submit)
Description
I thought this might have been library issue on my machine but it appears could be related to the tool. I cannot run inter-frame compression using the default 'random/rext' cfg more than 8 frames. Seg fault occurs after the first frame finishes printing it's log line to the screen. Are there other potential cfg or compile directives to try first as this is little info to go on?
I did set and compile with makefile set to M32?= 1
Result is same if RExtCOLOUR_SPACE_CONVERSIONS compiled to 0 or 1.
$ uname -a (gdb) run Starting program: /home/<dir>/HEVC/HM_HEVC/HM-12.0+RExt-4.0/bin/TAppEncoderStaticd -c ../../cfg/12bit_rext.cfg -i /home/qbit/Documents/HEVC/tiff2ydzdx/10k4k/YDzDx10k4k.yuv -wdt 3840 -hgt 2160 -fr 24 -f 9 --InputBitDepth=12 -vui 0 warning: Could not load shared library symbols for linux-gate.so.1. Do you need "set solib-search-path" or "set sysroot"? [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". HM software: Encoder Version [12.0_RExt4.0][Linux][GCC 4.7.1][32 bit] ****************************************************************** ** WARNING: --SEIDecodedPictureHash is now disabled by default. ** ** Automatic verification of decoded pictures by a ** ** decoder requires this option to be enabled. ** ****************************************************************** *************************************************************************** ** WARNING: For conforming bitstreams a valid Level value must be set! ** *************************************************************************** Input File : /home/qbit/Documents/HEVC/tiff2ydzdx/10k4k/YDzDx10k4k.yuv Bitstream File : str.bin Reconstruction File : rec.yuv Real Format : 3840x2160 24Hz Internal Format : 3840x2160 24Hz Sequence PSNR output : Linear average only Frame/Field : Frame based coding Frame index : 0 - 8 (9 frames) Profile : main-RExt CU size / depth : 64 / 4 RQT trans. size (min / max) : 4 / 32 Max RQT depth inter : 3 Max RQT depth intra : 3 Min PCM size : 8 Motion search range : 64 Intra period : 32 Decoding refresh type : 1 QP : 1.00 Max dQP signaling depth : 0 Cb QP Offset : 0 Cr QP Offset : 0 QP adaptation : 0 (range=0) GOP size : 8 Internal bit depth : (Y:12, C:12) PCM sample bit depth : (Y:12, C:12) Extended precision processing : Enabled Intra reference smoothing : Enabled Intra residual DPCM : Enabled Inter residual DPCM : Enabled Intra Block Copying : Enabled Residual rotation : Enabled Single significance map context : Enabled Cost function: : Lossy coding (default) RateControl : 0 Max Num Merge Candidates : 5 TOOL CFG: IBD:0 HAD:1 SRD:1 RDQ:1 RDQTS:1 RDpenalty:0 SQP:0 ASR:0 FEN:1 ECU:0 FDM:1 CFM:0 ESD:0 RQT:1 TransformSkip:1 TransformSkipFast:1 TransformSkipLog2MaxSize:2 Slice: M=0 SliceSegment: M=0 CIP:0 SAO:1 PCM:0 SAOLcuBasedOptimization:1 TransQuantBypassEnabled:0 WPP:0 WPB:0 PME:2 WaveFrontSynchro:0 WaveFrontSubstreams:1 ScalingList:0 TMVPMode:1 AQpS:0 SignBitHidingFlag:1 RecalQP:0 RExt Non-environment-variable-controlled macros set as follows: RExt__COLOUR_SPACE_CONVERSIONS = 0 RExt__SQUARE_TRANSFORM_CHROMA_422 = 1 RExt__INCREASE_NUMBER_OF_SCALING_LISTS_FOR_CHROMA = 0 RExt__DECODER_DEBUG_BIT_STATISTICS = 0 RExt__LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_EVALUATION = 1 RExt__HIGH_BIT_DEPTH_SUPPORT = 1 RExt__INDEPENDENT_FORWARD_AND_INVERSE_TRANSFORMS = 1 RExt__HIGH_PRECISION_FORWARD_TRANSFORM = 0 RExt__M0042_NO_DISPLAY_SEI = 1 RExt__NRCE2_RESIDUAL_DPCM = 1 RExt__NRCE2_RESIDUAL_ROTATION = 1 RExt__NRCE2_SINGLE_SIGNIFICANCE_MAP_CONTEXT = 1 RExt__N0080_INTRA_REFERENCE_SMOOTHING_DISABLED_FLAG = 1 RExt__N0141_USE_1_TO_1_422_CHROMA_QP_MAPPING = 1 RExt__N0188_EXTENDED_PRECISION_PROCESSING = 1 RExt__N0192_DERIVED_CHROMA_32x32_SCALING_LISTS = 1 RExt__N0256_INTRA_BLOCK_COPY = 1 RExt__N0275_TRANSFORM_SKIP_SHIFT_CLIPPING = 1 RExt__N0288_SPECIFY_TRANSFORM_SKIP_MAXIMUM_SIZE = 1 RExt__MEETINGNOTES_UNLIMITED_SIZE_LEVEL = 1 Input ChromaFormatIDC = 4:2:0 Output (internal) ChromaFormatIDC = 4:2:0 POC 0 TId: 0 ( I-SLICE, nQP 1 QP 1 ) 50888424 bits [Y 63.2402 dB U 62.5175 dB V 62.5641 dB] [ET 1076 ] [L0 ] [L1 ] Program received signal SIGSEGV, Segmentation fault. 0xb7d5d21f in memcpy () from /lib/libc.so.6 (gdb) bt #0 0xb7d5d21f in memcpy () from /lib/libc.so.6 #1 0x080d7122 in TComPicYuv::copyToPic (this=0x8265688, pcPicYuvDst=0x1bc6fa8) at /home/qbit/Documents/HEVC/HM_HEVC/HM-12.0+RExt-4.0/build/linux/lib/TLibCommon/../../../../source/Lib/TLibCommon/TComPicYuv.cpp:167 #2 0x08092f97 in TEncTop::encode (this=0xbfff2a8c, flush=true, pcPicYuvOrg=0x8265688, rcListPicYuvRecOut=..., accessUnitsOut=..., iNumEncoded=@0xbffee7ec: 0) at /home/qbit/Documents/HEVC/HM_HEVC/HM-12.0+RExt-4.0/build/linux/lib/TLibEncoder/../../../../source/Lib/TLibEncoder/TEncTop.cpp:369 #3 0x08067a9a in TAppEncTop::encode (this=0xbffee850) at /home/qbit/Documents/HEVC/HM_HEVC/HM-12.0+RExt-4.0/build/linux/app/TAppEncoder/../../../../source/App/TAppEncoder/TAppEncTop.cpp:507 #4 0x0804dc93 in main (argc=16, argv=0xbfffe9d4) at /home/qbit/Documents/HEVC/HM_HEVC/HM-12.0+RExt-4.0/build/linux/app/TAppEncoder/../../../../source/App/TAppEncoder/encmain.cpp:98 (gdb) Attachments (1)Change History (3)comment:1 Changed 11 years ago by DefaultCC Plugin
Changed 11 years ago by bmandelcomment:2 Changed 11 years ago by davidf
As far as i can tell, you've run out of memory while encoding a 4K picture with picture reordering reordering and high bitdepth support enabled (this doubles the storage requirement and only needs to be enabled for bitdepths greater than 12bit).
I expect that you are falling foul of an unchecked malloc.
Please re-open if you can reproduce using a smaller picture size.
BTW, there should be no need to disable the RExt__COLOUR_SPACE_CONVERSIONS macro, it isn't as severe as it sounds (it permits optional reordering of components for RGB input data, it doesn't actually perform any colour space conversion).
BTW2, there is no need to set M32=1 on a 32bit system. Note: See
TracTickets for help on using
tickets. | This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Owner, Subscriber, Participant
|
cfg file (99% same as default)