VITA49
VITA49 copied to clipboard
64 bit standard data packet fails to create
Standard Data Packet and payload format are different. Lines 114 and 115 of StandardDataPacket.cc are inconsistent with PacketFormat.h
StandardDataPacket.cc 114 int64_t itmSz = bits & __INT64_C(0x0000001F00000000); cf. PacketFormat.h 489 public: inline void setDataItemSize (int32_t val) { 490 if ((val < 1) || (val > 64)) { 491 throw VRTException("Value (%d) not in range of 1..64", val); 492 } 493 clearNull(); 494 int32_t mask = 0x0000003F; 495 int32_t set = (val-1); 496 hi = (set | (hi & ~mask)); 497 }
StandardDataPacket.cc 115 int64_t fmtSz = bits & __INT64_C(0x00000FE000000000); cf. PacketFormat.h 466 public: inline void setItemPackingFieldSize (int32_t val) { 467 if ((val < 1) || (val > 64)) { 468 throw VRTException("Value (%d) not in range of 1..64", val); 469 } 470 clearNull(); 471 int32_t mask = 0x00000FC0; 472 int32_t set = (val-1) << 6; 473 hi = (set | (hi & ~mask)); 474 }