Changeset 789 in SHVCSoftware
- Timestamp:
- 6 Jun 2014, 19:40:12 (11 years ago)
- Location:
- branches/SHM-6-dev/source/Lib/TLibCommon
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-6-dev/source/Lib/TLibCommon/TComUpsampleFilter.cpp
r788 r789 3 3 #include "TComUpsampleFilter.h" 4 4 5 #define CNU -1 ///< Coefficients Not Used6 7 5 const Int TComUpsampleFilter::m_lumaFixedFilter[16][NTAPS_US_LUMA] = 8 6 { 9 { 0, 0, 0, 64, 0, 0, 0, 0}, // 10 #if ARBITRARY_SPATIAL_RATIO 11 { 0, 1, -3, 63, 4, -2, 1, 0}, 12 { -1, 2, -5, 62, 8, -3, 1, 0}, 13 { -1, 3, -8, 60, 13, -4, 1, 0}, 14 { -1, 4,-10, 58, 17, -5, 1, 0}, 15 #else 16 {CNU,CNU,CNU,CNU,CNU,CNU,CNU,CNU}, // 17 {CNU,CNU,CNU,CNU,CNU,CNU,CNU,CNU}, // 18 {CNU,CNU,CNU,CNU,CNU,CNU,CNU,CNU}, // 19 {CNU,CNU,CNU,CNU,CNU,CNU,CNU,CNU}, // 20 #endif 21 { -1, 4, -11, 52, 26, -8, 3, -1}, // <-> actual phase shift 1/3, used for spatial scalability x1.5 22 #if ARBITRARY_SPATIAL_RATIO 23 { -1, 3, -9, 47, 31, -10, 4, -1}, 24 { -1, 4, -11, 45, 34, -10, 4, -1}, 25 #else 26 {CNU,CNU,CNU,CNU,CNU,CNU,CNU,CNU}, // 27 {CNU,CNU,CNU,CNU,CNU,CNU,CNU,CNU}, // 28 #endif 29 { -1, 4, -11, 40, 40, -11, 4, -1}, // <-> actual phase shift 1/2, equal to HEVC MC, used for spatial scalability x2 30 #if ARBITRARY_SPATIAL_RATIO 31 { -1, 4, -10, 34, 45, -11, 4, -1}, 32 { -1, 4, -10, 31, 47, -9, 3, -1}, 33 #else 34 {CNU,CNU,CNU,CNU,CNU,CNU,CNU,CNU}, // 35 {CNU,CNU,CNU,CNU,CNU,CNU,CNU,CNU}, // 36 #endif 37 { -1, 3, -8, 26, 52, -11, 4, -1}, // <-> actual phase shift 2/3, used for spatial scalability x1.5 38 #if ARBITRARY_SPATIAL_RATIO 39 { 0, 1, -5, 17, 58, -10, 4, -1}, 40 { 0, 1, -4, 13, 60, -8, 3, -1}, 41 { 0, 1, -3, 8, 62, -5, 2, -1}, 42 { 0, 1, -2, 4, 63, -3, 1, 0} 43 #else 44 {CNU,CNU,CNU,CNU,CNU,CNU,CNU,CNU}, // 45 {CNU,CNU,CNU,CNU,CNU,CNU,CNU,CNU}, // 46 {CNU,CNU,CNU,CNU,CNU,CNU,CNU,CNU}, // 47 {CNU,CNU,CNU,CNU,CNU,CNU,CNU,CNU} // 48 #endif 7 { 0, 0, 0, 64, 0, 0, 0, 0 }, 8 { 0, 1, -3, 63, 4, -2, 1, 0 }, 9 { -1, 2, -5, 62, 8, -3, 1, 0 }, 10 { -1, 3, -8, 60, 13, -4, 1, 0 }, 11 { -1, 4, -10, 58, 17, -5, 1, 0 }, 12 { -1, 4, -11, 52, 26, -8, 3, -1 }, // <-> actual phase shift 1/3, used for spatial scalability x1.5 13 { -1, 3, -9, 47, 31, -10, 4, -1 }, 14 { -1, 4, -11, 45, 34, -10, 4, -1 }, 15 { -1, 4, -11, 40, 40, -11, 4, -1 }, // <-> actual phase shift 1/2, equal to HEVC MC, used for spatial scalability x2 16 { -1, 4, -10, 34, 45, -11, 4, -1 }, 17 { -1, 4, -10, 31, 47, -9, 3, -1 }, 18 { -1, 3, -8, 26, 52, -11, 4, -1 }, // <-> actual phase shift 2/3, used for spatial scalability x1.5 19 { 0, 1, -5, 17, 58, -10, 4, -1 }, 20 { 0, 1, -4, 13, 60, -8, 3, -1 }, 21 { 0, 1, -3, 8, 62, -5, 2, -1 }, 22 { 0, 1, -2, 4, 63, -3, 1, 0 } 49 23 }; 50 24 51 25 const Int TComUpsampleFilter::m_chromaFixedFilter[16][NTAPS_US_CHROMA] = 52 26 { 53 { 0, 64, 0, 0},// 54 #if ARBITRARY_SPATIAL_RATIO 55 { -2, 62, 4, 0}, 56 { -2, 58, 10, -2}, 57 { -4, 56, 14, -2}, 58 #else 59 {CNU,CNU,CNU,CNU},// 60 {CNU,CNU,CNU,CNU},// 61 {CNU,CNU,CNU,CNU},// 62 #endif 63 { -4, 54, 16, -2},// <-> actual phase shift 1/4,equal to HEVC MC, used for spatial scalability x1.5 (only for accurate Chroma alignement) 64 { -6, 52, 20, -2},// <-> actual phase shift 1/3, used for spatial scalability x1.5 65 { -6, 46, 28, -4},// <-> actual phase shift 3/8,equal to HEVC MC, used for spatial scalability x2 (only for accurate Chroma alignement) 66 #if ARBITRARY_SPATIAL_RATIO 67 { -4, 42, 30, -4}, 68 #else 69 {CNU,CNU,CNU,CNU},// 70 #endif 71 { -4, 36, 36, -4},// <-> actual phase shift 1/2,equal to HEVC MC, used for spatial scalability x2 72 { -4, 30, 42, -4},// <-> actual phase shift 7/12, used for spatial scalability x1.5 (only for accurate Chroma alignement) 73 #if ARBITRARY_SPATIAL_RATIO 74 { -4, 28, 46, -6}, 75 #else 76 {CNU,CNU,CNU,CNU},// 77 #endif 78 { -2, 20, 52, -6},// <-> actual phase shift 2/3, used for spatial scalability x1.5 79 #if ARBITRARY_SPATIAL_RATIO 80 {-2, 16, 54, -4}, 81 {-2, 14, 56, -4}, 82 #else 83 {CNU,CNU,CNU,CNU},// 84 {CNU,CNU,CNU,CNU},// 85 #endif 86 { -2, 10, 58, -2},// <-> actual phase shift 7/8,equal to HEVC MC, used for spatial scalability x2 (only for accurate Chroma alignement) 87 { 0, 4, 62, -2} // <-> actual phase shift 11/12, used for spatial scalability x1.5 (only for accurate Chroma alignement) 27 { 0, 64, 0, 0 }, 28 { -2, 62, 4, 0 }, 29 { -2, 58, 10, -2 }, 30 { -4, 56, 14, -2 }, 31 { -4, 54, 16, -2 }, // <-> actual phase shift 1/4,equal to HEVC MC, used for spatial scalability x1.5 (only for accurate Chroma alignement) 32 { -6, 52, 20, -2 }, // <-> actual phase shift 1/3, used for spatial scalability x1.5 33 { -6, 46, 28, -4 }, // <-> actual phase shift 3/8,equal to HEVC MC, used for spatial scalability x2 (only for accurate Chroma alignement) 34 { -4, 42, 30, -4 }, 35 { -4, 36, 36, -4 }, // <-> actual phase shift 1/2,equal to HEVC MC, used for spatial scalability x2 36 { -4, 30, 42, -4 }, // <-> actual phase shift 7/12, used for spatial scalability x1.5 (only for accurate Chroma alignement) 37 { -4, 28, 46, -6 }, 38 { -2, 20, 52, -6 }, // <-> actual phase shift 2/3, used for spatial scalability x1.5 39 { -2, 16, 54, -4 }, 40 { -2, 14, 56, -4 }, 41 { -2, 10, 58, -2 }, // <-> actual phase shift 7/8,equal to HEVC MC, used for spatial scalability x2 (only for accurate Chroma alignement) 42 { 0, 4, 62, -2 } // <-> actual phase shift 11/12, used for spatial scalability x1.5 (only for accurate Chroma alignement) 88 43 }; 89 44 … … 259 214 } 260 215 261 #if ARBITRARY_SPATIAL_RATIO262 216 assert ( widthEL >= widthBL ); 263 217 assert ( heightEL >= heightBL ); 264 #else265 assert ( widthEL == widthBL || widthEL == 2*widthBL || 2*widthEL == 3*widthBL );266 assert ( heightEL == heightBL || heightEL == 2*heightBL || 2*heightEL == 3*heightBL );267 #endif268 218 269 219 pcBasePic->setBorderExtension(false); -
branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h
r788 r789 162 162 163 163 #define DERIVE_LAYER_ID_LIST_VARIABLES 1 ///< Derived variables based on the variables in VPS - for use in syntax table parsing 164 165 #define ARBITRARY_SPATIAL_RATIO 1 ///< JCTVC-N0219, JCTVC-N0273: Support arbitrary spatial ratio166 164 167 165 #define JCTVC_M0259_LAMBDAREFINEMENT 1 ///< JCTVC-M0259: lambda refinement (encoder only optimization)
Note: See TracChangeset for help on using the changeset viewer.