Opened 4 years ago

Last modified 3 years ago

#1153 new defect

Encoder crashes in field based coding with rate control

Reported by: kazui Owned by:
Priority: major Milestone:
Component: HM Version: HM-12.0
Keywords: Field coding Cc: fbossen, ksuehring, davidf, jct-vc@…

Description

Encoder crashes when FieldCoding and RateControl are both equal to 1.

Note: the same problem exists in HM-11.0 with the patch in JCTVC-N0372.

Attachments (2)

encoder_randomaccess_field_coding.cfg (11.0 KB) - added by kazui 4 years ago.
Ticket1153.patch (457 bytes) - added by libin 4 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 4 years ago by DefaultCC Plugin

  • Cc fbossen ksuehring davidf jct-vc@… added

Changed 4 years ago by kazui

comment:2 Changed 4 years ago by fbossen

Reproduced issue with r3781

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x000000000000001c
0x0000000100086912 in TEncRCGOP::getBitsLeft (this=0x0) at TEncRateCtrl.h:205
205	  Int  getBitsLeft()              { return m_bitsLeft; }
(gdb) where
#0  0x0000000100086912 in TEncRCGOP::getBitsLeft (this=0x0) at TEncRateCtrl.h:205
#1  0x0000000100082a02 in TEncRCPic::xEstPicTargetBits (this=0x100608930, encRCSeq=0x1006074a0, encRCGOP=0x0) at HM-12.1-dev/build/linux/lib/TLibEncoder/../../../../source/Lib/TLibEncoder/TEncRateCtrl.cpp:496
#2  0x0000000100082d01 in TEncRCPic::create (this=0x100608930, encRCSeq=0x1006074a0, encRCGOP=0x0, frameLevel=0, listPreviousPictures=@0x7fff5fbff348) at HM-12.1-dev/build/linux/lib/TLibEncoder/../../../../source/Lib/TLibEncoder/TEncRateCtrl.cpp:565
#3  0x000000010008637c in TEncRateCtrl::initRCPic (this=0x7fff5fbff330, frameLevel=0) at HM-12.1-dev/build/linux/lib/TLibEncoder/../../../../source/Lib/TLibEncoder/TEncRateCtrl.cpp:1379
#4  0x000000010003b09f in TEncGOP::compressGOP (this=0x7fff5fbf9d58, iPOCLast=0, iNumPicRcvd=1, rcListPic=@0x7fff5fbf7000, rcListPicYuvRecOut=@0x7fff5fbffab0, accessUnitsInGOP=@0x7fff5fbee300, isField=true, isTff=true) at HM-12.1-dev/build/linux/lib/TLibEncoder/../../../../source/Lib/TLibEncoder/TEncGOP.cpp:729
#5  0x000000010007a27c in TEncTop::encode (this=0x7fff5fbf26b8, flush=false, pcPicYuvOrg=0x100619450, rcListPicYuvRecOut=@0x7fff5fbffab0, accessUnitsOut=@0x7fff5fbee300, iNumEncoded=@0x7fff5fbee314, isTff=true) at HM-12.1-dev/build/linux/lib/TLibEncoder/../../../../source/Lib/TLibEncoder/TEncTop.cpp:445
#6  0x000000010001abfb in TAppEncTop::encode (this=0x7fff5fbee360) at HM-12.1-dev/build/linux/app/TAppEncoder/../../../../source/App/TAppEncoder/TAppEncTop.cpp:418
#7  0x0000000100001676 in main (argc=5, argv=0x7fff5fbffb28) at HM-12.1-dev/build/linux/app/TAppEncoder/../../../../source/App/TAppEncoder/encmain.cpp:88

comment:3 Changed 4 years ago by libin

I think the reason is that the following function is not called in the TEncTop::encode() function for field coding.
m_cRateCtrl.initRCGOP( m_iNumPicRcvd );
Applying the attached patch may avoid crashing. But I am not familiar with field coding, I am not sure whether the attached patch could get correct rate control results.

Changed 4 years ago by libin

comment:4 Changed 3 years ago by ksuehring

  • Milestone HM-12.1 deleted
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

  • Bin Li(Participant)
  • David Flynn(Subscriber, Always)
  • Frank Bossen(Subscriber, Participant)
  • jct-vc@…(Subscriber)
  • Karl Sharman(Always)
  • Karsten Suehring(Subscriber, Participant, Always)