diff --git a/source/Lib/TLibDecoder/TDecCAVLC.cpp b/source/Lib/TLibDecoder/TDecCAVLC.cpp
index 2df3075..969756b 100644
a
|
b
|
|
341 | 341 | |
342 | 342 | if (pcPPS->getUseTransformSkip()) |
343 | 343 | { |
344 | | READ_UVLC( uiCode, "log2_transform_skip_max_size_minus2"); |
| 344 | READ_UVLC( uiCode, "log2_max_transform_skip_block_size_minus2"); |
345 | 345 | pcPPS->setTransformSkipLog2MaxSize(uiCode+2); |
346 | 346 | } |
347 | 347 | |
348 | | READ_FLAG( uiCode, "cross_component_prediction_flag"); |
| 348 | READ_FLAG( uiCode, "cross_component_prediction_enabled_flag"); |
349 | 349 | pcPPS->setUseCrossComponentPrediction(uiCode != 0); |
350 | 350 | |
351 | | READ_FLAG( uiCode, "chroma_qp_adjustment_enabled_flag"); |
| 351 | READ_FLAG( uiCode, "chroma_qp_offset_list_enabled_flag "); |
352 | 352 | if (uiCode == 0) |
353 | 353 | { |
354 | 354 | pcPPS->clearChromaQpAdjTable(); |
… |
… |
|
356 | 356 | } |
357 | 357 | else |
358 | 358 | { |
359 | | READ_UVLC(uiCode, "diff_cu_chroma_qp_adjustment_depth"); pcPPS->setMaxCuChromaQpAdjDepth(uiCode); |
| 359 | READ_UVLC(uiCode, "diff_cu_chroma_qp_offset_depth"); pcPPS->setMaxCuChromaQpAdjDepth(uiCode); |
360 | 360 | UInt tableSizeMinus1 = 0; |
361 | | READ_UVLC(tableSizeMinus1, "chroma_qp_adjustment_table_size_minus1"); |
| 361 | READ_UVLC(tableSizeMinus1, "chroma_qp_offset_list_len_minus1"); |
362 | 362 | /* skip zero index */ |
363 | 363 | for (Int chromaQpAdjustmentIndex = 1; chromaQpAdjustmentIndex <= (tableSizeMinus1 + 1); chromaQpAdjustmentIndex++) |
364 | 364 | { |
… |
… |
|
371 | 371 | assert(pcPPS->getChromaQpAdjTableSize() == tableSizeMinus1 + 1); |
372 | 372 | } |
373 | 373 | |
374 | | READ_UVLC( uiCode, "sao_luma_bit_shift"); |
| 374 | READ_UVLC( uiCode, "log2_sao_offset_scale_luma"); |
375 | 375 | pcPPS->setSaoOffsetBitShift(CHANNEL_TYPE_LUMA, uiCode); |
376 | | READ_UVLC( uiCode, "sao_chroma_bit_shift"); |
| 376 | READ_UVLC( uiCode, "log2_sao_offset_scale_chroma"); |
377 | 377 | pcPPS->setSaoOffsetBitShift(CHANNEL_TYPE_CHROMA, uiCode); |
378 | 378 | break; |
379 | 379 | default: |
… |
… |
|
426 | 426 | { |
427 | 427 | READ_CODE(8, uiCode, "colour_primaries"); pcVUI->setColourPrimaries(uiCode); |
428 | 428 | READ_CODE(8, uiCode, "transfer_characteristics"); pcVUI->setTransferCharacteristics(uiCode); |
429 | | READ_CODE(8, uiCode, "matrix_coefficients"); pcVUI->setMatrixCoefficients(uiCode); |
| 429 | READ_CODE(8, uiCode, "matrix_coeffs"); pcVUI->setMatrixCoefficients(uiCode); |
430 | 430 | } |
431 | 431 | } |
432 | 432 | |
… |
… |
|
481 | 481 | READ_UVLC( uiCode, "min_spatial_segmentation_idc"); pcVUI->setMinSpatialSegmentationIdc(uiCode); |
482 | 482 | assert(uiCode < 4096); |
483 | 483 | READ_UVLC( uiCode, "max_bytes_per_pic_denom" ); pcVUI->setMaxBytesPerPicDenom(uiCode); |
484 | | READ_UVLC( uiCode, "max_bits_per_mincu_denom" ); pcVUI->setMaxBitsPerMinCuDenom(uiCode); |
| 484 | READ_UVLC( uiCode, "max_bits_per_min_cu_denom" ); pcVUI->setMaxBitsPerMinCuDenom(uiCode); |
485 | 485 | READ_UVLC( uiCode, "log2_max_mv_length_horizontal" ); pcVUI->setLog2MaxMvLengthHorizontal(uiCode); |
486 | 486 | READ_UVLC( uiCode, "log2_max_mv_length_vertical" ); pcVUI->setLog2MaxMvLengthVertical(uiCode); |
487 | 487 | } |
… |
… |
|
496 | 496 | READ_FLAG( uiCode, "vcl_hrd_parameters_present_flag" ); hrd->setVclHrdParametersPresentFlag( uiCode == 1 ? true : false ); |
497 | 497 | if( hrd->getNalHrdParametersPresentFlag() || hrd->getVclHrdParametersPresentFlag() ) |
498 | 498 | { |
499 | | READ_FLAG( uiCode, "sub_pic_cpb_params_present_flag" ); hrd->setSubPicCpbParamsPresentFlag( uiCode == 1 ? true : false ); |
| 499 | READ_FLAG( uiCode, "sub_pic_hrd_params_present_flag" ); hrd->setSubPicCpbParamsPresentFlag( uiCode == 1 ? true : false ); |
500 | 500 | if( hrd->getSubPicCpbParamsPresentFlag() ) |
501 | 501 | { |
502 | 502 | READ_CODE( 8, uiCode, "tick_divisor_minus2" ); hrd->setTickDivisorMinus2( uiCode ); |
… |
… |
|
651 | 651 | { |
652 | 652 | READ_UVLC ( uiCode, "sps_max_dec_pic_buffering_minus1[i]"); |
653 | 653 | pcSPS->setMaxDecPicBuffering( uiCode + 1, i); |
654 | | READ_UVLC ( uiCode, "sps_num_reorder_pics[i]" ); |
| 654 | READ_UVLC ( uiCode, "sps_max_num_reorder_pics[i]" ); |
655 | 655 | pcSPS->setNumReorderPics(uiCode, i); |
656 | 656 | READ_UVLC ( uiCode, "sps_max_latency_increase_plus1[i]"); |
657 | 657 | pcSPS->setMaxLatencyIncrease( uiCode, i ); |
… |
… |
|
668 | 668 | } |
669 | 669 | } |
670 | 670 | |
671 | | READ_UVLC( uiCode, "log2_min_coding_block_size_minus3" ); |
| 671 | READ_UVLC( uiCode, "log2_min_luma_coding_block_size_minus3" ); |
672 | 672 | Int log2MinCUSize = uiCode + 3; |
673 | 673 | pcSPS->setLog2MinCodingBlockSize(log2MinCUSize); |
674 | | READ_UVLC( uiCode, "log2_diff_max_min_coding_block_size" ); |
| 674 | READ_UVLC( uiCode, "log2_diff_max_min_luma_coding_block_size " ); |
675 | 675 | pcSPS->setLog2DiffMaxMinCodingBlockSize(uiCode); |
676 | 676 | |
677 | 677 | if (pcSPS->getPTL()->getGeneralPTL()->getLevelIdc() >= Level::LEVEL5) |
… |
… |
|
682 | 682 | Int maxCUDepthDelta = uiCode; |
683 | 683 | pcSPS->setMaxCUWidth ( 1<<(log2MinCUSize + maxCUDepthDelta) ); |
684 | 684 | pcSPS->setMaxCUHeight ( 1<<(log2MinCUSize + maxCUDepthDelta) ); |
685 | | READ_UVLC( uiCode, "log2_min_transform_block_size_minus2" ); pcSPS->setQuadtreeTULog2MinSize( uiCode + 2 ); |
| 685 | READ_UVLC( uiCode, "log2_min_luma_transform_block_size_minus2" ); pcSPS->setQuadtreeTULog2MinSize( uiCode + 2 ); |
686 | 686 | |
687 | | READ_UVLC( uiCode, "log2_diff_max_min_transform_block_size" ); pcSPS->setQuadtreeTULog2MaxSize( uiCode + pcSPS->getQuadtreeTULog2MinSize() ); |
| 687 | READ_UVLC( uiCode, "log2_diff_max_min_luma_transform_block_size " ); pcSPS->setQuadtreeTULog2MaxSize( uiCode + pcSPS->getQuadtreeTULog2MinSize() ); |
688 | 688 | pcSPS->setMaxTrSize( 1<<(uiCode + pcSPS->getQuadtreeTULog2MinSize()) ); |
689 | 689 | |
690 | 690 | READ_UVLC( uiCode, "max_transform_hierarchy_depth_inter" ); pcSPS->setQuadtreeTUMaxDepthInter( uiCode+1 ); |
… |
… |
|
730 | 730 | READ_FLAG( uiCode, "long_term_ref_pics_present_flag" ); pcSPS->setLongTermRefsPresent(uiCode); |
731 | 731 | if (pcSPS->getLongTermRefsPresent()) |
732 | 732 | { |
733 | | READ_UVLC( uiCode, "num_long_term_ref_pic_sps" ); |
| 733 | READ_UVLC( uiCode, "num_long_term_ref_pics_sps" ); |
734 | 734 | pcSPS->setNumLongTermRefPicSPS(uiCode); |
735 | 735 | for (UInt k = 0; k < pcSPS->getNumLongTermRefPicSPS(); k++) |
736 | 736 | { |
… |
… |
|
773 | 773 | |
774 | 774 | READ_FLAG( uiCode, "transform_skip_rotation_enabled_flag"); pcSPS->setUseResidualRotation (uiCode != 0); |
775 | 775 | READ_FLAG( uiCode, "transform_skip_context_enabled_flag"); pcSPS->setUseSingleSignificanceMapContext (uiCode != 0); |
776 | | READ_FLAG( uiCode, "residual_dpcm_implicit_enabled_flag"); pcSPS->setUseResidualDPCM(RDPCM_SIGNAL_IMPLICIT, (uiCode != 0)); |
777 | | READ_FLAG( uiCode, "residual_dpcm_explicit_enabled_flag"); pcSPS->setUseResidualDPCM(RDPCM_SIGNAL_EXPLICIT, (uiCode != 0)); |
| 776 | READ_FLAG( uiCode, "implicit_rdpcm_enabled_flag"); pcSPS->setUseResidualDPCM(RDPCM_SIGNAL_IMPLICIT, (uiCode != 0)); |
| 777 | READ_FLAG( uiCode, "explicit_rdpcm_enabled_flag"); pcSPS->setUseResidualDPCM(RDPCM_SIGNAL_EXPLICIT, (uiCode != 0)); |
778 | 778 | READ_FLAG( uiCode, "extended_precision_processing_flag"); pcSPS->setUseExtendedPrecision (uiCode != 0); |
779 | 779 | READ_FLAG( uiCode, "intra_smoothing_disabled_flag"); pcSPS->setDisableIntraReferenceSmoothing (uiCode != 0); |
780 | | READ_FLAG( uiCode, "high_precision_prediction_weighting_flag"); pcSPS->setUseHighPrecisionPredictionWeighting (uiCode != 0); |
781 | | READ_FLAG( uiCode, "golomb_rice_parameter_adaptation_flag"); pcSPS->setUseGolombRiceParameterAdaptation (uiCode != 0); |
| 780 | READ_FLAG( uiCode, "high_precision_offsets_enabled_flag"); pcSPS->setUseHighPrecisionPredictionWeighting (uiCode != 0); |
| 781 | READ_FLAG( uiCode, "persistent_rice_adaptation_enabled_flag"); pcSPS->setUseGolombRiceParameterAdaptation (uiCode != 0); |
782 | 782 | READ_FLAG( uiCode, "cabac_bypass_alignment_enabled_flag"); pcSPS->setAlignCABACBeforeBypass (uiCode != 0); |
783 | 783 | break; |
784 | 784 | default: |
… |
… |
|
807 | 807 | READ_CODE( 3, uiCode, "vps_max_sub_layers_minus1" ); pcVPS->setMaxTLayers( uiCode + 1 ); assert(uiCode+1 <= MAX_TLAYER); |
808 | 808 | READ_FLAG( uiCode, "vps_temporal_id_nesting_flag" ); pcVPS->setTemporalNestingFlag( uiCode ? true:false ); |
809 | 809 | assert (pcVPS->getMaxTLayers()>1||pcVPS->getTemporalNestingFlag()); |
810 | | READ_CODE( 16, uiCode, "vps_reserved_ffff_16bits" ); assert(uiCode == 0xffff); |
| 810 | READ_CODE( 16, uiCode, "vps_reserved_0xffff_16bits" ); assert(uiCode == 0xffff); |
811 | 811 | parsePTL ( pcVPS->getPTL(), true, pcVPS->getMaxTLayers()-1); |
812 | 812 | UInt subLayerOrderingInfoPresentFlag; |
813 | 813 | READ_FLAG(subLayerOrderingInfoPresentFlag, "vps_sub_layer_ordering_info_present_flag"); |
814 | 814 | for(UInt i = 0; i <= pcVPS->getMaxTLayers()-1; i++) |
815 | 815 | { |
816 | 816 | READ_UVLC( uiCode, "vps_max_dec_pic_buffering_minus1[i]" ); pcVPS->setMaxDecPicBuffering( uiCode + 1, i ); |
817 | | READ_UVLC( uiCode, "vps_num_reorder_pics[i]" ); pcVPS->setNumReorderPics( uiCode, i ); |
| 817 | READ_UVLC( uiCode, "vps_max_num_reorder_pics[i]" ); pcVPS->setNumReorderPics( uiCode, i ); |
818 | 818 | READ_UVLC( uiCode, "vps_max_latency_increase_plus1[i]" ); pcVPS->setMaxLatencyIncrease( uiCode, i ); |
819 | 819 | |
820 | 820 | if (!subLayerOrderingInfoPresentFlag) |
… |
… |
|
831 | 831 | |
832 | 832 | assert( pcVPS->getNumHrdParameters() < MAX_VPS_OP_SETS_PLUS1 ); |
833 | 833 | assert( pcVPS->getMaxNuhReservedZeroLayerId() < MAX_VPS_NUH_RESERVED_ZERO_LAYER_ID_PLUS1 ); |
834 | | READ_CODE( 6, uiCode, "vps_max_nuh_reserved_zero_layer_id" ); pcVPS->setMaxNuhReservedZeroLayerId( uiCode ); |
835 | | READ_UVLC( uiCode, "vps_max_op_sets_minus1" ); pcVPS->setMaxOpSets( uiCode + 1 ); |
| 834 | READ_CODE( 6, uiCode, "vps_max_layer_id" ); pcVPS->setMaxNuhReservedZeroLayerId( uiCode ); |
| 835 | READ_UVLC( uiCode, "vps_num_layer_sets_minus1" ); pcVPS->setMaxOpSets( uiCode + 1 ); |
836 | 836 | for( UInt opsIdx = 1; opsIdx <= ( pcVPS->getMaxOpSets() - 1 ); opsIdx ++ ) |
837 | 837 | { |
838 | 838 | // Operation point set |
… |
… |
|
862 | 862 | } |
863 | 863 | for( UInt i = 0; i < pcVPS->getNumHrdParameters(); i ++ ) |
864 | 864 | { |
865 | | READ_UVLC( uiCode, "hrd_op_set_idx" ); pcVPS->setHrdOpSetIdx( uiCode, i ); |
| 865 | READ_UVLC( uiCode, "hrd_layer_set_idx" ); pcVPS->setHrdOpSetIdx( uiCode, i ); |
866 | 866 | if( i > 0 ) |
867 | 867 | { |
868 | 868 | READ_FLAG( uiCode, "cprms_present_flag[i]" ); pcVPS->setCprmsPresentFlag( uiCode == 1 ? true : false, i ); |
… |
… |
|
952 | 952 | { |
953 | 953 | for (Int i = 0; i < pps->getNumExtraSliceHeaderBits(); i++) |
954 | 954 | { |
955 | | READ_FLAG(uiCode, "slice_reserved_undetermined_flag[]"); // ignored |
| 955 | READ_FLAG(uiCode, "slice_reserved_flag[]"); // ignored |
956 | 956 | } |
957 | 957 | |
958 | 958 | READ_UVLC ( uiCode, "slice_type" ); pcSlice->setSliceType((SliceType)uiCode); |
… |
… |
|
1130 | 1130 | } |
1131 | 1131 | if (sps->getTMVPFlagsPresent()) |
1132 | 1132 | { |
1133 | | READ_FLAG( uiCode, "slice_temporal_mvp_enable_flag" ); |
| 1133 | READ_FLAG( uiCode, "slice_temporal_mvp_enabled_flag" ); |
1134 | 1134 | pcSlice->setEnableTMVPFlag( uiCode == 1 ? true : false ); |
1135 | 1135 | } |
1136 | 1136 | else |
… |
… |
|
1325 | 1325 | { |
1326 | 1326 | if (numValidComp>COMPONENT_Cb) |
1327 | 1327 | { |
1328 | | READ_SVLC( iCode, "slice_qp_delta_cb" ); |
| 1328 | READ_SVLC( iCode, "slice_cb_qp_offset" ); |
1329 | 1329 | pcSlice->setSliceChromaQpDelta(COMPONENT_Cb, iCode ); |
1330 | 1330 | assert( pcSlice->getSliceChromaQpDelta(COMPONENT_Cb) >= -12 ); |
1331 | 1331 | assert( pcSlice->getSliceChromaQpDelta(COMPONENT_Cb) <= 12 ); |
… |
… |
|
1335 | 1335 | |
1336 | 1336 | if (numValidComp>COMPONENT_Cr) |
1337 | 1337 | { |
1338 | | READ_SVLC( iCode, "slice_qp_delta_cr" ); |
| 1338 | READ_SVLC( iCode, "slice_cr_qp_offset" ); |
1339 | 1339 | pcSlice->setSliceChromaQpDelta(COMPONENT_Cr, iCode ); |
1340 | 1340 | assert( pcSlice->getSliceChromaQpDelta(COMPONENT_Cr) >= -12 ); |
1341 | 1341 | assert( pcSlice->getSliceChromaQpDelta(COMPONENT_Cr) <= 12 ); |
… |
… |
|
1346 | 1346 | |
1347 | 1347 | if (pps->getChromaQpAdjTableSize() > 0) |
1348 | 1348 | { |
1349 | | READ_FLAG(uiCode, "slice_chroma_qp_adjustment_enabled_flag"); pcSlice->setUseChromaQpAdj(uiCode != 0); |
| 1349 | READ_FLAG(uiCode, "cu_chroma_qp_offset_enabled_flag"); pcSlice->setUseChromaQpAdj(uiCode != 0); |
1350 | 1350 | } |
1351 | 1351 | else |
1352 | 1352 | { |
… |
… |
|
1425 | 1425 | |
1426 | 1426 | if(pps->getSliceHeaderExtensionPresentFlag()) |
1427 | 1427 | { |
1428 | | READ_UVLC(uiCode,"slice_header_extension_length"); |
| 1428 | READ_UVLC(uiCode,"slice_segment_header_extension_length"); |
1429 | 1429 | for(Int i=0; i<uiCode; i++) |
1430 | 1430 | { |
1431 | 1431 | UInt ignore; |
1432 | | READ_CODE(8,ignore,"slice_header_extension_data_byte"); |
| 1432 | READ_CODE(8,ignore,"slice_segment_header_extension_data_byte"); |
1433 | 1433 | } |
1434 | 1434 | } |
1435 | 1435 | #if RExt__DECODER_DEBUG_BIT_STATISTICS |
… |
… |
|
1521 | 1521 | Void TDecCavlc::parseProfileTier(ProfileTierLevel *ptl) |
1522 | 1522 | { |
1523 | 1523 | UInt uiCode; |
1524 | | READ_CODE(2 , uiCode, "XXX_profile_space[]"); ptl->setProfileSpace(uiCode); |
1525 | | READ_FLAG( uiCode, "XXX_tier_flag[]" ); ptl->setTierFlag (uiCode ? Level::HIGH : Level::MAIN); |
1526 | | READ_CODE(5 , uiCode, "XXX_profile_idc[]" ); ptl->setProfileIdc (Profile::Name(uiCode)); |
| 1524 | READ_CODE(2 , uiCode, "general_profile_space[]"); ptl->setProfileSpace(uiCode); |
| 1525 | READ_FLAG( uiCode, "general_tier_flag[]" ); ptl->setTierFlag (uiCode ? Level::HIGH : Level::MAIN); |
| 1526 | READ_CODE(5 , uiCode, "general_profile_idc[]" ); ptl->setProfileIdc (Profile::Name(uiCode)); |
1527 | 1527 | for(Int j = 0; j < 32; j++) |
1528 | 1528 | { |
1529 | 1529 | READ_FLAG( uiCode, "XXX_profile_compatibility_flag[][j]"); ptl->setProfileCompatibilityFlag(j, uiCode ? 1 : 0); |
… |
… |
|
1555 | 1555 | READ_FLAG( uiCode, "general_intra_constraint_flag"); ptl->setIntraConstraintFlag(uiCode != 0); |
1556 | 1556 | READ_FLAG( uiCode, "general_one_picture_only_constraint_flag"); |
1557 | 1557 | READ_FLAG( uiCode, "general_lower_bit_rate_constraint_flag"); ptl->setLowerBitRateConstraintFlag(uiCode != 0); |
1558 | | READ_CODE(16, uiCode, "XXX_reserved_zero_35bits[0..15]"); |
1559 | | READ_CODE(16, uiCode, "XXX_reserved_zero_35bits[16..31]"); |
1560 | | READ_CODE(3, uiCode, "XXX_reserved_zero_35bits[32..34]"); |
| 1558 | READ_CODE(16, uiCode, "general_reserved_zero_35bits[0..15]"); |
| 1559 | READ_CODE(16, uiCode, "general_reserved_zero_35bits[16..31]"); |
| 1560 | READ_CODE(3, uiCode, "general_reserved_zero_35bits[32..34]"); |
1561 | 1561 | } |
1562 | 1562 | else |
1563 | 1563 | { |
… |
… |
|
1565 | 1565 | ptl->setChromaFormatConstraint(CHROMA_420); |
1566 | 1566 | ptl->setIntraConstraintFlag(false); |
1567 | 1567 | ptl->setLowerBitRateConstraintFlag(true); |
1568 | | READ_CODE(16, uiCode, "XXX_reserved_zero_44bits[0..15]"); |
1569 | | READ_CODE(16, uiCode, "XXX_reserved_zero_44bits[16..31]"); |
1570 | | READ_CODE(12, uiCode, "XXX_reserved_zero_44bits[32..43]"); |
| 1568 | READ_CODE(16, uiCode, "general_reserved_zero_44bits[0..15]"); |
| 1569 | READ_CODE(16, uiCode, "general_reserved_zero_44bits[16..31]"); |
| 1570 | READ_CODE(12, uiCode, "general_reserved_zero_44bits[32..43]"); |
1571 | 1571 | } |
1572 | 1572 | } |
1573 | 1573 | |
… |
… |
|
1784 | 1784 | } |
1785 | 1785 | |
1786 | 1786 | UInt uiCode; |
1787 | | READ_FLAG( uiCode, "luma_weight_lX_flag" ); // u(1): luma_weight_l0_flag |
| 1787 | READ_FLAG( uiCode, "luma_weight_l0_flag" ); // u(1): luma_weight_l0_flag |
1788 | 1788 | wp[COMPONENT_Y].bPresentFlag = ( uiCode == 1 ); |
1789 | 1789 | uiTotalSignalledWeightFlags += wp[COMPONENT_Y].bPresentFlag; |
1790 | 1790 | } |
… |
… |
|
1794 | 1794 | for ( Int iRefIdx=0 ; iRefIdx<pcSlice->getNumRefIdx(eRefPicList) ; iRefIdx++ ) |
1795 | 1795 | { |
1796 | 1796 | pcSlice->getWpScaling(eRefPicList, iRefIdx, wp); |
1797 | | READ_FLAG( uiCode, "chroma_weight_lX_flag" ); // u(1): chroma_weight_l0_flag |
| 1797 | READ_FLAG( uiCode, "chroma_weight_l0_flag" ); // u(1): chroma_weight_l0_flag |
1798 | 1798 | for(Int j=1; j<numValidComp; j++) |
1799 | 1799 | { |
1800 | 1800 | wp[j].bPresentFlag = ( uiCode == 1 ); |
… |
… |
|
1808 | 1808 | if ( wp[COMPONENT_Y].bPresentFlag ) |
1809 | 1809 | { |
1810 | 1810 | Int iDeltaWeight; |
1811 | | READ_SVLC( iDeltaWeight, "delta_luma_weight_lX" ); // se(v): delta_luma_weight_l0[i] |
| 1811 | READ_SVLC( iDeltaWeight, "delta_luma_weight_l0" ); // se(v): delta_luma_weight_l0[i] |
1812 | 1812 | assert( iDeltaWeight >= -128 ); |
1813 | 1813 | assert( iDeltaWeight <= 127 ); |
1814 | 1814 | wp[COMPONENT_Y].iWeight = (iDeltaWeight + (1<<wp[COMPONENT_Y].uiLog2WeightDenom)); |
1815 | | READ_SVLC( wp[COMPONENT_Y].iOffset, "luma_offset_lX" ); // se(v): luma_offset_l0[i] |
| 1815 | READ_SVLC( wp[COMPONENT_Y].iOffset, "luma_offset_l0" ); // se(v): luma_offset_l0[i] |
1816 | 1816 | Int range=sps->getUseHighPrecisionPredictionWeighting() ? (1<<g_bitDepth[CHANNEL_TYPE_LUMA])/2 : 128; |
1817 | 1817 | assert( wp[0].iOffset >= -range ); |
1818 | 1818 | assert( wp[0].iOffset < range ); |
… |
… |
|
1830 | 1830 | for ( Int j=1 ; j<numValidComp ; j++ ) |
1831 | 1831 | { |
1832 | 1832 | Int iDeltaWeight; |
1833 | | READ_SVLC( iDeltaWeight, "delta_chroma_weight_lX" ); // se(v): chroma_weight_l0[i][j] |
| 1833 | READ_SVLC( iDeltaWeight, "delta_chroma_weight_l0" ); // se(v): chroma_weight_l0[i][j] |
1834 | 1834 | assert( iDeltaWeight >= -128 ); |
1835 | 1835 | assert( iDeltaWeight <= 127 ); |
1836 | 1836 | wp[j].iWeight = (iDeltaWeight + (1<<wp[j].uiLog2WeightDenom)); |
1837 | 1837 | |
1838 | 1838 | Int iDeltaChroma; |
1839 | | READ_SVLC( iDeltaChroma, "delta_chroma_offset_lX" ); // se(v): delta_chroma_offset_l0[i][j] |
| 1839 | READ_SVLC( iDeltaChroma, "delta_chroma_offset_l0" ); // se(v): delta_chroma_offset_l0[i][j] |
1840 | 1840 | assert( iDeltaChroma >= -4*range); |
1841 | 1841 | assert( iDeltaChroma < 4*range); |
1842 | 1842 | Int pred = ( range - ( ( range*wp[j].iWeight)>>(wp[j].uiLog2WeightDenom) ) ); |