MCPcopy Create free account
hub / github.com/MPEGGroup/mpeg-pcc-tmc2 / setPLRData

Method setPLRData

source/lib/PccLibDecoder/source/PCCDecoder.cpp:512–551  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

510}
511
512void PCCDecoder::setPLRData( PCCFrameContext& tile, PCCPatch& patch, PLRData& plrd, size_t occupancyPackingBlockSize ) {
513 patch.allocOneLayerData();
514 TRACE_PATCH( "WxH = %zu x %zu \n", plrd.getBlockToPatchMapWidth(), plrd.getBlockToPatchMapHeight() );
515 patch.getPointLocalReconstructionLevel() = static_cast<uint8_t>( plrd.getLevelFlag() );
516 TRACE_PATCH( " LevelFlag = %d \n", plrd.getLevelFlag() );
517 if ( plrd.getLevelFlag() ) {
518 if ( plrd.getPresentFlag() ) {
519 patch.setPointLocalReconstructionMode( plrd.getModeMinus1() + 1 );
520 } else {
521 patch.setPointLocalReconstructionMode( 0 );
522 }
523 TRACE_PATCH( " ModePatch: Present = %d ModeMinus1 = %2d \n", plrd.getPresentFlag(),
524 plrd.getPresentFlag() ? (int32_t)plrd.getModeMinus1() : -1 );
525 } else {
526 for ( size_t v0 = 0; v0 < plrd.getBlockToPatchMapHeight(); ++v0 ) {
527 for ( size_t u0 = 0; u0 < plrd.getBlockToPatchMapWidth(); ++u0 ) {
528 size_t index = v0 * plrd.getBlockToPatchMapWidth() + u0;
529 if ( plrd.getBlockPresentFlag( index ) ) {
530 patch.setPointLocalReconstructionMode( u0, v0, plrd.getBlockModeMinus1( index ) + 1 );
531 } else {
532 patch.setPointLocalReconstructionMode( u0, v0, 0 );
533 }
534 TRACE_PATCH( " Mode[%3u]: Present = %d ModeMinus1 = %2d \n", index, plrd.getBlockPresentFlag( index ),
535 plrd.getBlockPresentFlag( index ) ? (int32_t)plrd.getBlockModeMinus1( index ) : -1 );
536 }
537 }
538 }
539#ifdef CODEC_TRACE
540 for ( size_t v0 = 0; v0 < patch.getSizeV0(); ++v0 ) {
541 for ( size_t u0 = 0; u0 < patch.getSizeU0(); ++u0 ) {
542 TRACE_PATCH(
543 "Block[ %2lu %2lu <=> %4zu ] / [ %2lu %2lu ]: Level = %d Present = "
544 "%d mode = %zu \n",
545 u0, v0, v0 * patch.getSizeU0() + u0, patch.getSizeU0(), patch.getSizeV0(),
546 patch.getPointLocalReconstructionLevel(), plrd.getBlockPresentFlag( v0 * patch.getSizeU0() + u0 ),
547 patch.getPointLocalReconstructionMode( u0, v0 ) );
548 }
549 }
550#endif
551}
552
553void PCCDecoder::setPostProcessingSeiParameters( GeneratePointCloudParameters& params,
554 PCCContext& context,

Callers

nothing calls this directly

Calls 13

getLevelFlagMethod · 0.80
getPresentFlagMethod · 0.80
getModeMinus1Method · 0.80
getBlockPresentFlagMethod · 0.80
getBlockModeMinus1Method · 0.80
getSizeV0Method · 0.80
getSizeU0Method · 0.80

Tested by

no test coverage detected