Changeset 1351 in 3DVCSoftware
- Timestamp:
- 14 Oct 2015, 14:40:25 (9 years ago)
- Location:
- branches/HTM-15.1-dev0-NICT/source/Lib
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-15.1-dev0-NICT/source/Lib/TLibCommon/SEI.cpp
r1349 r1351 1554 1554 }; 1555 1555 1556 UInt SEIAlternativeDepthInfo::getManGvdFocalLengthXLen ( Int i, int j ) const 1557 { 1558 return xGetSyntaxElementLen( m_expGvdFocalLengthX[i][j], m_precGvdFocalLength, m_manGvdFocalLengthX[i][j] ); 1559 }; 1560 1561 UInt SEIAlternativeDepthInfo::getManGvdFocalLengthYLen ( Int i, int j ) const 1562 { 1563 return xGetSyntaxElementLen( m_expGvdFocalLengthY[i][j], m_precGvdFocalLength, m_manGvdFocalLengthY[i][j] ); 1564 }; 1565 1566 UInt SEIAlternativeDepthInfo::getManGvdPrincipalPointXLen ( Int i, int j ) const 1567 { 1568 return xGetSyntaxElementLen( m_expGvdPrincipalPointX[i][j], m_precGvdPrincipalPoint, m_manGvdPrincipalPointX[i][j] ); 1569 }; 1570 1571 UInt SEIAlternativeDepthInfo::getManGvdPrincipalPointYLen ( Int i, int j ) const 1572 { 1573 return xGetSyntaxElementLen( m_expGvdPrincipalPointY[i][j], m_precGvdPrincipalPoint, m_manGvdPrincipalPointY[i][j] ); 1574 }; 1575 1576 UInt SEIAlternativeDepthInfo::getManGvdRLen ( Int i, int j, int k ) const 1577 { 1578 return xGetSyntaxElementLen( m_expGvdR[i][j][k], m_precGvdRotationParam, m_manGvdR[i][j][k] ); 1579 }; 1580 1581 UInt SEIAlternativeDepthInfo::getManGvdTXLen ( Int i, int j ) const 1582 { 1583 return xGetSyntaxElementLen( m_expGvdTX[i][j], m_precGvdTranslationParam, m_manGvdTX[i][j] ); 1584 }; 1585 1586 UInt SEIAlternativeDepthInfo::xGetSyntaxElementLen( Int expo, Int prec, Int val ) const 1587 { 1588 UInt len; 1589 if( expo == 0 ) 1590 { 1591 len = std::max(0, prec - 30 ); 1592 } 1593 else 1594 { 1595 len = std::max( 0, expo + prec - 31 ); 1596 } 1597 1598 #if DEBUG_NH_3D_SEI 1599 printf("DEBUG: SEIAlternativeDepthInfo::xGetSyntaxElementLen(): val: %d, len %u\n", val, len); 1556 1600 #endif 1601 assert( val >= 0 ); 1602 assert( val <= ( ( 1 << len )- 1) ); 1603 return len; 1604 } 1557 1605 1558 1606 #endif 1607 1608 #endif -
branches/HTM-15.1-dev0-NICT/source/Lib/TLibCommon/SEI.h
r1349 r1351 1150 1150 Void setupFromCfgFile( const Char* cfgFile ); 1151 1151 Bool checkCfg ( const TComSlice* slice ); 1152 1153 UInt getManGvdFocalLengthXLen ( Int i, Int j ) const; 1154 UInt getManGvdFocalLengthYLen ( Int i, Int j ) const; 1155 UInt getManGvdPrincipalPointXLen ( Int i, Int j ) const; 1156 UInt getManGvdPrincipalPointYLen ( Int i, Int j ) const; 1157 UInt getManGvdRLen ( Int i, int j, int k ) const; 1158 UInt getManGvdTXLen ( Int i, Int j ) const; 1159 UInt xGetSyntaxElementLen ( Int expo, Int prec, Int val ) const; 1152 1160 1153 1161 Void resizeArrays( ) -
branches/HTM-15.1-dev0-NICT/source/Lib/TLibDecoder/SEIread.cpp
r1349 r1351 1745 1745 sei_read_flag( pDecodedMessageOutputStream, code, "sign_gvd_focal_length_x" ); sei.m_signGvdFocalLengthX[i][j] = (code == 1); 1746 1746 sei_read_code( pDecodedMessageOutputStream, 6, code, "exp_gvd_focal_length_x" ); sei.m_expGvdFocalLengthX[i][j] = code; 1747 sei_read_code( pDecodedMessageOutputStream, sei.m_precGvdFocalLength, code, "man_gvd_focal_length_x" ); sei.m_manGvdFocalLengthX[i][j] = code; 1747 //sei_read_code( pDecodedMessageOutputStream, sei.m_precGvdFocalLength, code, "man_gvd_focal_length_x" ); sei.m_manGvdFocalLengthX[i][j] = code; 1748 sei_read_code( pDecodedMessageOutputStream, sei.getManGvdFocalLengthXLen(i,j), code, "man_gvd_focal_length_x" ); sei.m_manGvdFocalLengthX[i][j] = code; 1748 1749 sei_read_flag( pDecodedMessageOutputStream, code, "sign_gvd_focal_length_y" ); sei.m_signGvdFocalLengthY[i][j] = (code == 1); 1749 1750 sei_read_code( pDecodedMessageOutputStream, 6, code, "exp_gvd_focal_length_y" ); sei.m_expGvdFocalLengthY[i][j] = code; 1750 sei_read_code( pDecodedMessageOutputStream, sei.m_precGvdFocalLength, code, "man_gvd_focal_length_y" ); sei.m_manGvdFocalLengthY[i][j] = code; 1751 //sei_read_code( pDecodedMessageOutputStream, sei.m_precGvdFocalLength, code, "man_gvd_focal_length_y" ); sei.m_manGvdFocalLengthY[i][j] = code; 1752 sei_read_code( pDecodedMessageOutputStream, sei.getManGvdFocalLengthYLen(i,j), code, "man_gvd_focal_length_y" ); sei.m_manGvdFocalLengthY[i][j] = code; 1751 1753 sei_read_flag( pDecodedMessageOutputStream, code, "sign_gvd_principal_point_x" ); sei.m_signGvdPrincipalPointX[i][j] = (code == 1); 1752 1754 sei_read_code( pDecodedMessageOutputStream, 6, code, "exp_gvd_principal_point_x" ); sei.m_expGvdPrincipalPointX[i][j] = code; 1753 sei_read_code( pDecodedMessageOutputStream, sei.m_precGvdPrincipalPoint, code, "man_gvd_principal_point_x" ); sei.m_manGvdPrincipalPointX[i][j] = code; 1755 //sei_read_code( pDecodedMessageOutputStream, sei.m_precGvdPrincipalPoint, code, "man_gvd_principal_point_x" ); sei.m_manGvdPrincipalPointX[i][j] = code; 1756 sei_read_code( pDecodedMessageOutputStream, sei.getManGvdPrincipalPointXLen(i,j), code, "man_gvd_principal_point_x" ); sei.m_manGvdPrincipalPointX[i][j] = code; 1754 1757 sei_read_flag( pDecodedMessageOutputStream, code, "sign_gvd_principal_point_y" ); sei.m_signGvdPrincipalPointY[i][j] = (code == 1); 1755 1758 sei_read_code( pDecodedMessageOutputStream, 6, code, "exp_gvd_principal_point_y" ); sei.m_expGvdPrincipalPointY[i][j] = code; 1756 sei_read_code( pDecodedMessageOutputStream, sei.m_precGvdPrincipalPoint, code, "man_gvd_principal_point_y" ); sei.m_manGvdPrincipalPointY[i][j] = code; 1759 //sei_read_code( pDecodedMessageOutputStream, sei.m_precGvdPrincipalPoint, code, "man_gvd_principal_point_y" ); sei.m_manGvdPrincipalPointY[i][j] = code; 1760 sei_read_code( pDecodedMessageOutputStream, sei.getManGvdPrincipalPointYLen(i,j), code, "man_gvd_principal_point_y" ); sei.m_manGvdPrincipalPointY[i][j] = code; 1761 #if DEBUG_NH_3D_SEI 1762 printf("manLEN_gvd_focal_length_x : sei.getManGvdFocalLengthXLen(%d,%d): %u\n", i, j, sei.getManGvdFocalLengthXLen(i,j)); 1763 printf("manLEN_gvd_focal_length_y : sei.getManGvdFocalLengthYLen(%d,%d): %u\n", i, j, sei.getManGvdFocalLengthYLen(i,j)); 1764 printf("manLEN_gvd_principal_point_x : sei.getManGvdPrincipalPointXLen(%d,%d): %u\n", i, j, sei.getManGvdPrincipalPointXLen(i,j)); 1765 printf("manLEN_gvd_principal_point_x : sei.getManGvdPrincipalPointYLen(%d,%d): %u\n", i, j, sei.getManGvdPrincipalPointYLen(i,j)); 1766 #endif 1757 1767 } 1758 1768 if( sei.m_rotationGvdFlag ) … … 1763 1773 sei_read_code( pDecodedMessageOutputStream, 6, code, "exp_gvd_r" ); sei.m_expGvdR[i][j][k] = code; 1764 1774 sei_read_code( pDecodedMessageOutputStream, sei.m_precGvdRotationParam, code, "man_gvd_r" ); sei.m_manGvdR[i][j][k] = code; 1775 //sei_read_code( pDecodedMessageOutputStream, sei.getManGvdRLen(i,j,k), code, "man_gvd_r" ); sei.m_manGvdR[i][j][k] = code; 1765 1776 } 1766 1777 } 1767 1778 if( sei.m_translationGvdFlag ) 1768 1779 { 1769 #if NH_MV_SEI_TBD1770 1780 sei_read_flag( pDecodedMessageOutputStream, code, "sign_gvd_t_x" ); sei.m_signGvdTX[i][j] = (code == 1); 1771 1781 sei_read_code( pDecodedMessageOutputStream, 6, code, "exp_gvd_t_x" ); sei.m_expGvdTX[i][j] = code; 1772 sei_read_code( pDecodedMessageOutputStream, sei.m_precGvdTranslationParam, code, "man_gvd_t_x" ); sei.m_manGvdTX[i][j] = code; 1782 //sei_read_code( pDecodedMessageOutputStream, sei.m_precGvdTranslationParam, code, "man_gvd_t_x" ); sei.m_manGvdTX[i][j] = code; 1783 sei_read_code( pDecodedMessageOutputStream, sei.getManGvdTXLen(i,j), code, "man_gvd_t_x" ); sei.m_manGvdTX[i][j] = code; 1784 #if DEBUG_NH_3D_SEI 1785 printf("manLEN_gvd_t_x : sei.getManGvdTXLen(%d,%d): %u\n", i, j, sei.getManGvdTXLen(i,j)); 1773 1786 #endif 1774 1787 } -
branches/HTM-15.1-dev0-NICT/source/Lib/TLibEncoder/SEIwrite.cpp
r1349 r1351 1385 1385 printf("exp_gvd_focal_length_x : sei.m_expGvdFocalLengthX[%d][%d]: %u\n", i, j, sei.m_expGvdFocalLengthX[i][j]); 1386 1386 printf("man_gvd_focal_length_x : sei.m_manGvdFocalLengthX[%d][%d]: %u\n", i, j, sei.m_manGvdFocalLengthX[i][j]); 1387 printf("manLEN_gvd_focal_length_x : sei.getManGvdFocalLengthXLen(%d,%d): %u\n", i, j, sei.getManGvdFocalLengthXLen(i,j)); 1387 1388 printf("sign_gvd_focal_length_y : sei.m_signGvdFocalLengthY[%d][%d]: %u\n", i, j, sei.m_signGvdFocalLengthY[i][j]); 1388 1389 printf("exp_gvd_focal_length_y : sei.m_expGvdFocalLengthY[%d][%d]: %u\n", i, j, sei.m_expGvdFocalLengthY[i][j]); 1389 1390 printf("man_gvd_focal_length_y : sei.m_manGvdFocalLengthY[%d][%d]: %u\n", i, j, sei.m_manGvdFocalLengthY[i][j]); 1391 printf("manLEN_gvd_focal_length_y : sei.getManGvdFocalLengthYLen(%d,%d): %u\n", i, j, sei.getManGvdFocalLengthYLen(i,j)); 1390 1392 printf("sign_gvd_principal_point_x : sei.m_signGvdPrincipalPointX[%d][%d]: %u\n", i, j, sei.m_signGvdPrincipalPointX[i][j]); 1391 1393 printf("exp_gvd_principal_point_x : sei.m_expGvdPrincipalPointX[%d][%d]: %u\n", i, j, sei.m_expGvdPrincipalPointX[i][j]); 1392 1394 printf("man_gvd_principal_point_x : sei.m_manGvdPrincipalPointX[%d][%d]: %u\n", i, j, sei.m_manGvdPrincipalPointX[i][j]); 1395 printf("manLEN_gvd_principal_point_x : sei.getManGvdPrincipalPointXLen(%d,%d): %u\n", i, j, sei.getManGvdPrincipalPointXLen(i,j)); 1393 1396 printf("sign_gvd_principal_point_y : sei.m_signGvdPrincipalPointY[%d][%d]: %u\n", i, j, sei.m_signGvdPrincipalPointY[i][j]); 1394 1397 printf("exp_gvd_principal_point_y : sei.m_expGvdPrincipalPointY[%d][%d]: %u\n", i, j, sei.m_expGvdPrincipalPointY[i][j]); 1395 1398 printf("man_gvd_principal_point_y : sei.m_manGvdPrincipalPointY[%d][%d]: %u\n", i, j, sei.m_manGvdPrincipalPointY[i][j]); 1399 printf("manLEN_gvd_principal_point_x : sei.getManGvdPrincipalPointYLen(%d,%d): %u\n", i, j, sei.getManGvdPrincipalPointYLen(i,j)); 1396 1400 #endif 1397 1401 WRITE_FLAG( ( sei.m_signGvdFocalLengthX[i][j] ? 1 : 0 ), "sign_gvd_focal_length_x" ); 1398 1402 WRITE_CODE( sei.m_expGvdFocalLengthX[i][j], 6, "exp_gvd_focal_length_x" ); 1399 WRITE_CODE( sei.m_manGvdFocalLengthX[i][j], sei.m_precGvdFocalLength, "man_gvd_focal_length_x" ); 1403 //WRITE_CODE( sei.m_manGvdFocalLengthX[i][j], sei.m_precGvdFocalLength, "man_gvd_focal_length_x" ); 1404 WRITE_CODE( sei.m_manGvdFocalLengthX[i][j], sei.getManGvdFocalLengthXLen(i,j), "man_gvd_focal_length_x" ); 1400 1405 WRITE_FLAG( ( sei.m_signGvdFocalLengthY[i][j] ? 1 : 0 ), "sign_gvd_focal_length_y" ); 1401 1406 WRITE_CODE( sei.m_expGvdFocalLengthY[i][j], 6, "exp_gvd_focal_length_y" ); 1402 WRITE_CODE( sei.m_manGvdFocalLengthY[i][j], sei.m_precGvdFocalLength, "man_gvd_focal_length_y" ); 1407 //WRITE_CODE( sei.m_manGvdFocalLengthY[i][j], sei.m_precGvdFocalLength, "man_gvd_focal_length_y" ); 1408 WRITE_CODE( sei.m_manGvdFocalLengthY[i][j], sei.getManGvdFocalLengthYLen(i,j), "man_gvd_focal_length_y" ); 1403 1409 WRITE_FLAG( ( sei.m_signGvdPrincipalPointX[i][j] ? 1 : 0 ), "sign_gvd_principal_point_x" ); 1404 1410 WRITE_CODE( sei.m_expGvdPrincipalPointX[i][j], 6, "exp_gvd_principal_point_x" ); 1405 WRITE_CODE( sei.m_manGvdPrincipalPointX[i][j], sei.m_precGvdPrincipalPoint, "man_gvd_principal_point_x" ); 1411 //WRITE_CODE( sei.m_manGvdPrincipalPointX[i][j], sei.m_precGvdPrincipalPoint, "man_gvd_principal_point_x" ); 1412 WRITE_CODE( sei.m_manGvdPrincipalPointX[i][j], sei.getManGvdPrincipalPointXLen(i,j), "man_gvd_principal_point_x" ); 1406 1413 WRITE_FLAG( ( sei.m_signGvdPrincipalPointY[i][j] ? 1 : 0 ), "sign_gvd_principal_point_y" ); 1407 1414 WRITE_CODE( sei.m_expGvdPrincipalPointY[i][j], 6, "exp_gvd_principal_point_y" ); 1408 WRITE_CODE( sei.m_manGvdPrincipalPointY[i][j], sei.m_precGvdPrincipalPoint, "man_gvd_principal_point_y" ); 1415 //WRITE_CODE( sei.m_manGvdPrincipalPointY[i][j], sei.m_precGvdPrincipalPoint, "man_gvd_principal_point_y" ); 1416 WRITE_CODE( sei.m_manGvdPrincipalPointY[i][j], sei.getManGvdPrincipalPointYLen(i,j), "man_gvd_principal_point_y" ); 1409 1417 } 1410 1418 if( sei.m_rotationGvdFlag ) … … 1416 1424 printf("exp_gvd_r : sei.m_expGvdR[%d][%d][%d]: %u\n", i, j, k, sei.m_expGvdR[i][j][k]); 1417 1425 printf("man_gvd_r : sei.m_manGvdR[%d][%d][%d]: %u\n", i, j, k, sei.m_manGvdR[i][j][k]); 1426 printf("manLEN_gvd_r : sei.getManGvdRLen(%d,%d,%d): %u\n", i, j, k, sei.getManGvdRLen(i,j,k)); 1418 1427 #endif 1419 1428 WRITE_FLAG( ( sei.m_signGvdR[i][j][k] ? 1 : 0 ), "sign_gvd_r" ); 1420 1429 WRITE_CODE( sei.m_expGvdR[i][j][k], 6, "exp_gvd_r" ); 1421 WRITE_CODE( sei.m_manGvdR[i][j][k], sei.m_precGvdTranslationParam, "man_gvd_r" ); 1430 WRITE_CODE( sei.m_manGvdR[i][j][k], sei.m_precGvdRotationParam, "man_gvd_r" ); 1431 //WRITE_CODE( sei.m_manGvdR[i][j][k], sei.getManGvdRLen(i,j,k), "man_gvd_r" ); 1422 1432 } 1423 1433 } … … 1428 1438 printf("exp_gvd_t_x : sei.m_expGvdTX[%d][%d]: %u\n", i, j, sei.m_expGvdTX[i][j]); 1429 1439 printf("man_gvd_t_x : sei.m_manGvdTX[%d][%d]: %u\n", i, j, sei.m_manGvdTX[i][j]); 1440 printf("manLEN_gvd_t_x : sei.getManGvdTXLen(%d,%d): %u\n", i, j, sei.getManGvdTXLen(i,j)); 1430 1441 #endif 1431 1442 WRITE_FLAG( ( sei.m_signGvdTX[i][j] ? 1 : 0 ), "sign_gvd_t_x" ); 1432 1443 WRITE_CODE( sei.m_expGvdTX[i][j], 6, "exp_gvd_t_x" ); 1433 WRITE_CODE( sei.m_manGvdTX[i][j], sei.m_numConstituentViewsGvdMinus1, "man_gvd_t_x" ); 1444 //WRITE_CODE( sei.m_manGvdTX[i][j], sei.m_precGvdTranslationParam, "man_gvd_t_x" ); 1445 WRITE_CODE( sei.m_manGvdTX[i][j], sei.getManGvdTXLen(i,j), "man_gvd_t_x" ); 1434 1446 } 1435 1447 }
Note: See TracChangeset for help on using the changeset viewer.