Changeset 530 in SHVCSoftware for branches/SHM-4.1-dev/source/Lib/TLibEncoder


Ignore:
Timestamp:
28 Dec 2013, 02:37:15 (12 years ago)
Author:
qualcomm
Message:

Related to Adoption of JCTVC_O0223 with macro (O0223_PICTURE_TYPES_ALIGN_FLAG)
Related to Adoption of JCTVC_O0226 with macros (VPS_VUI_TILES_NOT_IN_USEFLAG
and VPS_VUI_WPP_NOT_IN_USE
FLAG)

From Hendry -- hendry@…

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r529 r530  
    11481148{
    11491149  Int i,j;
     1150#if O0223_PICTURE_TYPES_ALIGN_FLAG
     1151  WRITE_FLAG(vps->getCrossLayerPictureTypeAlignFlag(), "cross_layer_pic_type_aligned_flag");
     1152  if (!vps->getCrossLayerPictureTypeAlignFlag())
     1153  {
     1154#endif
    11501155#if IRAP_ALIGN_FLAG_IN_VPS_VUI
    1151       WRITE_FLAG(vps->getCrossLayerIrapAlignFlag(), "cross_layer_irap_aligned_flag");
     1156    WRITE_FLAG(vps->getCrossLayerIrapAlignFlag(), "cross_layer_irap_aligned_flag");
    11521157#endif
     1158#if O0223_PICTURE_TYPES_ALIGN_FLAG
     1159  }
     1160#endif
    11531161#if VPS_VUI_BITRATE_PICRATE
    11541162  WRITE_FLAG( vps->getBitRatePresentVpsFlag(),        "bit_rate_present_vps_flag" );
     
    11831191  }
    11841192#endif
     1193#if VPS_VUI_TILES_NOT_IN_USE__FLAG
     1194  UInt layerIdx;
     1195  WRITE_FLAG( vps->getTilesNotInUseFlag() ? 1 : 0 , "tiles_not_in_use_flag" );
     1196  if (!vps->getTilesNotInUseFlag())
     1197  {
     1198    for(i = 0; i < vps->getMaxLayers(); i++)
     1199    {
     1200      WRITE_FLAG( vps->getTilesInUseFlag(i) ? 1 : 0 , "tiles_in_use_flag[ i ]" );
     1201      if (vps->getTilesInUseFlag(i))
     1202      {
     1203        WRITE_FLAG( vps->getLoopFilterNotAcrossTilesFlag(i) ? 1 : 0 , "loop_filter_not_across_tiles_flag[ i ]" );
     1204      }
     1205    }
     1206#endif
    11851207#if TILE_BOUNDARY_ALIGNED_FLAG
    1186   for(i = 1; i < vps->getMaxLayers(); i++)
    1187   {
    1188     for(j = 0; j < vps->getNumDirectRefLayers(vps->getLayerIdInNuh(i)); j++)
    1189     {
    1190       WRITE_FLAG( vps->getTileBoundariesAlignedFlag(i,j) ? 1 : 0 , "tile_boundaries_aligned_flag[i][j]" );
    1191     }
    1192   } 
    1193 #endif
     1208    for(i = 1; i < vps->getMaxLayers(); i++)
     1209    {
     1210      for(j = 0; j < vps->getNumDirectRefLayers(vps->getLayerIdInNuh(i)); j++)
     1211      {
     1212#if VPS_VUI_TILES_NOT_IN_USE__FLAG
     1213        layerIdx = vps->getLayerIdInVps(vps->getRefLayerId(vps->getLayerIdInNuh(i), j));
     1214        if (vps->getTilesInUseFlag(i) && vps->getTilesInUseFlag(layerIdx)) {
     1215          WRITE_FLAG( vps->getTileBoundariesAlignedFlag(i,j) ? 1 : 0 , "tile_boundaries_aligned_flag[i][j]" );
     1216        }
     1217#else
     1218        WRITE_FLAG( vps->getTileBoundariesAlignedFlag(i,j) ? 1 : 0 , "tile_boundaries_aligned_flag[i][j]" );
     1219#endif
     1220      }
     1221    } 
     1222#endif
     1223#if VPS_VUI_TILES_NOT_IN_USE__FLAG
     1224  }
     1225#endif
     1226#if VPS_VUI_WPP_NOT_IN_USE__FLAG
     1227  WRITE_FLAG( vps->getWppNotInUseFlag() ? 1 : 0 , "wpp_not_in_use_flag" );
     1228  if (!vps->getWppNotInUseFlag())
     1229  {
     1230    for(i = 0; i < vps->getMaxLayers(); i++)
     1231    {
     1232      WRITE_FLAG( vps->getWppInUseFlag(i) ? 1 : 0 , "wpp_in_use_flag[ i ]" );
     1233    }
     1234  }
     1235#endif
    11941236#if N0160_VUI_EXT_ILP_REF
    11951237  WRITE_FLAG( vps->getNumIlpRestrictedRefLayers() ? 1 : 0 , "num_ilp_restricted_ref_layers" );   
Note: See TracChangeset for help on using the changeset viewer.