Changeset 688 in SHVCSoftware for branches/SHM-6-dev/source
- Timestamp:
- 17 Apr 2014, 04:52:55 (11 years ago)
- Location:
- branches/SHM-6-dev/source
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-6-dev/source/App/TAppDecoder/TAppDecTop.cpp
r652 r688 694 694 const Bool isTff = pcPicTop->isTopField(); 695 695 #if REPN_FORMAT_IN_VPS 696 UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc(); 697 Int xScal = TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc ); 698 m_acTVideoIOYuvReconFile[layerId].write( pcPicTop->getPicYuvRec(), pcPicBottom->getPicYuvRec(), 699 conf.getWindowLeftOffset() * xScal + defDisp.getWindowLeftOffset(), 700 conf.getWindowRightOffset() * xScal + defDisp.getWindowRightOffset(), 701 conf.getWindowTopOffset() * yScal + defDisp.getWindowTopOffset(), 702 conf.getWindowBottomOffset()* yScal + defDisp.getWindowBottomOffset(), isTff ); 703 696 #if Q0200_CONFORMANCE_BL_SIZE 697 Int xScal=1,yScal=1; 698 #else 699 UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc(); 700 Int xScal = TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc ); 701 #endif 702 m_acTVideoIOYuvReconFile[layerId].write( pcPicTop->getPicYuvRec(), pcPicBottom->getPicYuvRec(), 703 conf.getWindowLeftOffset() * xScal + defDisp.getWindowLeftOffset(), 704 conf.getWindowRightOffset() * xScal + defDisp.getWindowRightOffset(), 705 conf.getWindowTopOffset() * yScal + defDisp.getWindowTopOffset(), 706 conf.getWindowBottomOffset()* yScal + defDisp.getWindowBottomOffset(), isTff ); 704 707 #else 705 708 #if O0194_DIFFERENT_BITDEPTH_EL_BL … … 798 801 const Window &defDisp = m_respectDefDispWindow ? pcPic->getDefDisplayWindow() : Window(); 799 802 #if REPN_FORMAT_IN_VPS 800 UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc(); 801 Int xScal = TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc ); 802 m_acTVideoIOYuvReconFile[layerId].write( pcPic->getPicYuvRec(), 803 conf.getWindowLeftOffset() * xScal + defDisp.getWindowLeftOffset(), 804 conf.getWindowRightOffset() * xScal + defDisp.getWindowRightOffset(), 805 conf.getWindowTopOffset() * yScal + defDisp.getWindowTopOffset(), 806 conf.getWindowBottomOffset()* yScal + defDisp.getWindowBottomOffset() ); 807 803 #if Q0200_CONFORMANCE_BL_SIZE 804 Int xScal=1,yScal=1; 805 #else 806 UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc(); 807 Int xScal = TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc ); 808 #endif 809 m_acTVideoIOYuvReconFile[layerId].write( pcPic->getPicYuvRec(), 810 conf.getWindowLeftOffset() * xScal + defDisp.getWindowLeftOffset(), 811 conf.getWindowRightOffset() * xScal + defDisp.getWindowRightOffset(), 812 conf.getWindowTopOffset() * yScal + defDisp.getWindowTopOffset(), 813 conf.getWindowBottomOffset()* yScal + defDisp.getWindowBottomOffset() ); 808 814 #else 809 815 m_acTVideoIOYuvReconFile[layerId].write( pcPic->getPicYuvRec(), … … 898 904 const Bool isTff = pcPicTop->isTopField(); 899 905 #if REPN_FORMAT_IN_VPS 900 UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc(); 901 Int xScal = TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc ); 902 m_acTVideoIOYuvReconFile[layerId].write( pcPicTop->getPicYuvRec(), pcPicBottom->getPicYuvRec(), 903 conf.getWindowLeftOffset() *xScal + defDisp.getWindowLeftOffset(), 904 conf.getWindowRightOffset() *xScal + defDisp.getWindowRightOffset(), 905 conf.getWindowTopOffset() *yScal + defDisp.getWindowTopOffset(), 906 conf.getWindowBottomOffset()*yScal + defDisp.getWindowBottomOffset(), isTff ); 907 906 #if Q0200_CONFORMANCE_BL_SIZE 907 Int xScal=1,yScal=1; 908 #else 909 UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc(); 910 Int xScal = TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc ); 911 #endif 912 m_acTVideoIOYuvReconFile[layerId].write( pcPicTop->getPicYuvRec(), pcPicBottom->getPicYuvRec(), 913 conf.getWindowLeftOffset() *xScal + defDisp.getWindowLeftOffset(), 914 conf.getWindowRightOffset() *xScal + defDisp.getWindowRightOffset(), 915 conf.getWindowTopOffset() *yScal + defDisp.getWindowTopOffset(), 916 conf.getWindowBottomOffset()*yScal + defDisp.getWindowBottomOffset(), isTff ); 908 917 #else 909 918 #if O0194_DIFFERENT_BITDEPTH_EL_BL … … 1005 1014 const Window &defDisp = m_respectDefDispWindow ? pcPic->getDefDisplayWindow() : Window(); 1006 1015 #if REPN_FORMAT_IN_VPS 1007 UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc(); 1008 Int xScal = TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc ); 1009 m_acTVideoIOYuvReconFile[layerId].write( pcPic->getPicYuvRec(), 1010 conf.getWindowLeftOffset() *xScal + defDisp.getWindowLeftOffset(), 1011 conf.getWindowRightOffset() *xScal + defDisp.getWindowRightOffset(), 1012 conf.getWindowTopOffset() *yScal + defDisp.getWindowTopOffset(), 1013 conf.getWindowBottomOffset()*yScal + defDisp.getWindowBottomOffset() ); 1014 1016 #if Q0200_CONFORMANCE_BL_SIZE 1017 Int xScal=1,yScal=1; 1018 #else 1019 UInt chromaFormatIdc = pcPic->getSlice(0)->getChromaFormatIdc(); 1020 Int xScal = TComSPS::getWinUnitX( chromaFormatIdc ), yScal = TComSPS::getWinUnitY( chromaFormatIdc ); 1021 #endif 1022 m_acTVideoIOYuvReconFile[layerId].write( pcPic->getPicYuvRec(), 1023 conf.getWindowLeftOffset() *xScal + defDisp.getWindowLeftOffset(), 1024 conf.getWindowRightOffset() *xScal + defDisp.getWindowRightOffset(), 1025 conf.getWindowTopOffset() *yScal + defDisp.getWindowTopOffset(), 1026 conf.getWindowBottomOffset()*yScal + defDisp.getWindowBottomOffset() ); 1015 1027 #else 1016 1028 m_acTVideoIOYuvReconFile[layerId].write( pcPic->getPicYuvRec(), … … 1105 1117 const Window &defDisp = m_respectDefDispWindow ? pic->getDefDisplayWindow() : Window(); 1106 1118 Int xScal = 1, yScal = 1; 1107 #if REPN_FORMAT_IN_VPS 1108 1109 1110 1111 #endif 1112 1113 1114 1115 1116 1119 #if REPN_FORMAT_IN_VPS && !Q0200_CONFORMANCE_BL_SIZE 1120 UInt chromaFormatIdc = pic->getSlice(0)->getChromaFormatIdc(); 1121 xScal = TComSPS::getWinUnitX( chromaFormatIdc ); 1122 yScal = TComSPS::getWinUnitY( chromaFormatIdc ); 1123 #endif 1124 m_acTVideoIOYuvReconFile[layerIdx].write( pic->getPicYuvRec(), 1125 conf.getWindowLeftOffset() * xScal + defDisp.getWindowLeftOffset(), 1126 conf.getWindowRightOffset() * xScal + defDisp.getWindowRightOffset(), 1127 conf.getWindowTopOffset() * yScal + defDisp.getWindowTopOffset(), 1128 conf.getWindowBottomOffset()* yScal + defDisp.getWindowBottomOffset() ); 1117 1129 } 1118 1130 // update POC of display order -
branches/SHM-6-dev/source/Lib/TLibCommon/TComDataCU.cpp
r675 r688 3503 3503 Int leftStartL = baseColPic->getSlice(0)->getSPS()->getScaledRefLayerWindowForLayer(baseColPic->getSlice(0)->getVPS()->getRefLayerId(getSlice()->getLayerId(), refLayerIdc)).getWindowLeftOffset(); 3504 3504 Int topStartL = baseColPic->getSlice(0)->getSPS()->getScaledRefLayerWindowForLayer(baseColPic->getSlice(0)->getVPS()->getRefLayerId(getSlice()->getLayerId(), refLayerIdc)).getWindowTopOffset(); 3505 #if Q0200_CONFORMANCE_BL_SIZE 3506 leftStartL+=baseColPic->getConformanceWindow().getWindowLeftOffset(); 3507 topStartL+=baseColPic->getConformanceWindow().getWindowTopOffset(); 3508 #endif 3505 3509 #else 3506 3510 Int leftStartL = baseColPic->getSlice(0)->getSPS()->getScaledRefLayerWindow(refLayerIdc).getWindowLeftOffset(); -
branches/SHM-6-dev/source/Lib/TLibCommon/TComPrediction.cpp
r652 r688 768 768 #if O0215_PHASE_ALIGNMENT 769 769 #if O0194_JOINT_US_BITSHIFT 770 Void TComPrediction::upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, Bool phaseAlignFlag ) 771 { 772 m_cUsf.upsampleBasePic( currSlice, refLayerIdc, pcUsPic, pcBasePic, pcTempPic, window, phaseAlignFlag ); 770 Void TComPrediction::upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window 771 #if Q0200_CONFORMANCE_BL_SIZE 772 , const Window confBL 773 #endif 774 , Bool phaseAlignFlag ) 775 { 776 m_cUsf.upsampleBasePic( currSlice, refLayerIdc, pcUsPic, pcBasePic, pcTempPic, window 777 #if Q0200_CONFORMANCE_BL_SIZE 778 , confBL 779 #endif 780 , phaseAlignFlag ); 773 781 } 774 782 #else -
branches/SHM-6-dev/source/Lib/TLibCommon/TComPrediction.h
r644 r688 121 121 #if O0215_PHASE_ALIGNMENT 122 122 #if O0194_JOINT_US_BITSHIFT 123 Void upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, Bool phaseAlignFlag ); 123 Void upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window 124 #if Q0200_CONFORMANCE_BL_SIZE 125 , const Window confBL 126 #endif 127 , Bool phaseAlignFlag ); 124 128 #else 125 129 Void upsampleBasePic( UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, Bool phaseAlignFlag ); -
branches/SHM-6-dev/source/Lib/TLibCommon/TComUpsampleFilter.cpp
r686 r688 99 99 #if O0215_PHASE_ALIGNMENT 100 100 #if O0194_JOINT_US_BITSHIFT 101 Void TComUpsampleFilter::upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, bool phaseAlignFlag ) 101 Void TComUpsampleFilter::upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window 102 #if Q0200_CONFORMANCE_BL_SIZE 103 , const Window confBL 104 #endif 105 , bool phaseAlignFlag ) 102 106 #else 103 107 Void TComUpsampleFilter::upsampleBasePic( UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, bool phaseAlignFlag ) … … 126 130 Int heightEL = pcUsPic->getHeight() - scalEL.getWindowTopOffset() - scalEL.getWindowBottomOffset(); 127 131 Int strideEL = pcUsPic->getStride(); 128 132 #if Q0200_CONFORMANCE_BL_SIZE 133 widthBL-= (confBL.getWindowLeftOffset()+confBL.getWindowRightOffset()); 134 heightBL-=(confBL.getWindowBottomOffset()+confBL.getWindowTopOffset()); 135 #endif 129 136 #if P0312_VERT_PHASE_ADJ 130 137 Bool vertPhasePositionEnableFlag = scalEL.getVertPhasePositionEnableFlag(); … … 317 324 Int bottomEndL = pcUsPic->getHeight() - scalEL.getWindowBottomOffset(); 318 325 Int leftOffset = leftStartL > 0 ? leftStartL : 0; 319 326 #if Q0200_CONFORMANCE_BL_SIZE 327 leftStartL+= confBL.getWindowLeftOffset()<<4; 328 topStartL+= confBL.getWindowTopOffset()<<4; 329 #endif 320 330 #if N0214_INTERMEDIATE_BUFFER_16BITS 321 331 #if O0194_JOINT_US_BITSHIFT … … 411 421 widthBL = pcBasePic->getWidth (); 412 422 heightBL = pcBasePic->getHeight(); 413 423 #if Q0200_CONFORMANCE_BL_SIZE 424 widthBL-= confBL.getWindowLeftOffset()+confBL.getWindowRightOffset(); 425 heightBL-=confBL.getWindowBottomOffset()+confBL.getWindowTopOffset(); 426 #endif 414 427 widthEL = pcUsPic->getWidth () - scalEL.getWindowLeftOffset() - scalEL.getWindowRightOffset(); 415 428 heightEL = pcUsPic->getHeight() - scalEL.getWindowTopOffset() - scalEL.getWindowBottomOffset(); … … 431 444 Int bottomEndC = (pcUsPic->getHeight() >> 1) - (scalEL.getWindowBottomOffset() >> 1); 432 445 leftOffset = leftStartC > 0 ? leftStartC : 0; 433 446 #if Q0200_CONFORMANCE_BL_SIZE 447 leftStartC+= (confBL.getWindowLeftOffset()>>1)<<4; 448 topStartC+= (confBL.getWindowTopOffset()>>1)<<4; 449 #endif 434 450 shiftX = 16; 435 451 shiftY = 16; -
branches/SHM-6-dev/source/Lib/TLibCommon/TComUpsampleFilter.h
r644 r688 45 45 #if O0215_PHASE_ALIGNMENT 46 46 #if O0194_JOINT_US_BITSHIFT 47 Void upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, Bool phaseAlignFlag ); 47 Void upsampleBasePic( TComSlice* currSlice, UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window 48 #if Q0200_CONFORMANCE_BL_SIZE 49 , const Window confBL 50 #endif 51 , Bool phaseAlignFlag ); 48 52 #else 49 53 Void upsampleBasePic( UInt refLayerIdc, TComPicYuv* pcUsPic, TComPicYuv* pcBasePic, TComPicYuv* pcTempPic, const Window window, Bool phaseAlignFlag ); -
branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h
r686 r688 42 42 43 43 #define SYNTAX_BYTES 10 ///< number of bytes taken by syntaxes per 4x4 block [RefIdxL0(1byte), RefIdxL1(1byte), MVxL0(2bytes), MVyL0(2bytes), MVxL1(2bytes), MVyL1(2bytes)] 44 44 #define Q0200_CONFORMANCE_BL_SIZE 1 ///< JCTVC-Q0200; use conformance picture size in re-sampling processs 45 45 #if SVC_EXTENSION 46 46 #define MAX_LAYERS 8 ///< max number of layers the codec is supposed to handle -
branches/SHM-6-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r683 r688 658 658 { 659 659 Window &conf = pcSPS->getConformanceWindow(); 660 #if REPN_FORMAT_IN_VPS 660 #if REPN_FORMAT_IN_VPS && !Q0200_CONFORMANCE_BL_SIZE 661 661 READ_UVLC( uiCode, "conf_win_left_offset" ); conf.setWindowLeftOffset ( uiCode ); 662 662 READ_UVLC( uiCode, "conf_win_right_offset" ); conf.setWindowRightOffset ( uiCode );
Note: See TracChangeset for help on using the changeset viewer.