Showing the changes to test/encoder/EncUT_EncoderMb.cpp (1 of 85 files). Show all
Unified · Split
| @@ -6,195 +6,195 @@ · 5 unmodified lines | ||
| 6 | 6 | using namespace WelsSVCEnc; |
| 7 | 7 | #include "encode_mb_aux.h" |
| 8 | 8 | |
| 9 | −__align16( const int16_t, g_kiQuantInterFFCompare[104][8] ) = { | |
| 10 | −/* 0*/ { 0, 1, 0, 1, 1, 1, 1, 1 }, | |
| 11 | −/* 1*/ { 0, 1, 0, 1, 1, 1, 1, 1 }, | |
| 12 | −/* 2*/ { 1, 1, 1, 1, 1, 1, 1, 1 }, | |
| 13 | −/* 3*/ { 1, 1, 1, 1, 1, 2, 1, 2 }, | |
| 14 | −/* 4*/ { 1, 1, 1, 1, 1, 2, 1, 2 }, | |
| 15 | −/* 5*/ { 1, 1, 1, 1, 1, 2, 1, 2 }, | |
| 16 | −/* 6*/ { 1, 1, 1, 1, 1, 2, 1, 2 }, | |
| 17 | −/* 7*/ { 1, 2, 1, 2, 2, 2, 2, 2 }, | |
| 18 | −/* 8*/ { 1, 2, 1, 2, 2, 3, 2, 3 }, | |
| 19 | −/* 9*/ { 1, 2, 1, 2, 2, 3, 2, 3 }, | |
| 20 | −/*10*/ { 1, 2, 1, 2, 2, 3, 2, 3 }, | |
| 21 | −/*11*/ { 2, 2, 2, 2, 2, 4, 2, 4 }, | |
| 22 | −/*12*/ { 2, 3, 2, 3, 3, 4, 3, 4 }, | |
| 23 | −/*13*/ { 2, 3, 2, 3, 3, 5, 3, 5 }, | |
| 24 | −/*14*/ { 2, 3, 2, 3, 3, 5, 3, 5 }, | |
| 25 | −/*15*/ { 2, 4, 2, 4, 4, 6, 4, 6 }, | |
| 26 | −/*16*/ { 3, 4, 3, 4, 4, 7, 4, 7 }, | |
| 27 | −/*17*/ { 3, 5, 3, 5, 5, 8, 5, 8 }, | |
| 28 | −/*18*/ { 3, 6, 3, 6, 6, 9, 6, 9 }, | |
| 29 | −/*19*/ { 4, 6, 4, 6, 6, 10, 6, 10 }, | |
| 30 | −/*20*/ { 4, 7, 4, 7, 7, 11, 7, 11 }, | |
| 31 | −/*21*/ { 5, 8, 5, 8, 8, 12, 8, 12 }, | |
| 32 | −/*22*/ { 6, 9, 6, 9, 9, 13, 9, 13 }, | |
| 33 | −/*23*/ { 6, 10, 6, 10, 10, 16, 10, 16 }, | |
| 34 | −/*24*/ { 7, 11, 7, 11, 11, 17, 11, 17 }, | |
| 35 | −/*25*/ { 8, 12, 8, 12, 12, 19, 12, 19 }, | |
| 36 | −/*26*/ { 9, 14, 9, 14, 14, 21, 14, 21 }, | |
| 37 | −/*27*/ { 10, 15, 10, 15, 15, 25, 15, 25 }, | |
| 38 | −/*28*/ { 11, 17, 11, 17, 17, 27, 17, 27 }, | |
| 39 | −/*29*/ { 12, 20, 12, 20, 20, 31, 20, 31 }, | |
| 40 | −/*30*/ { 14, 22, 14, 22, 22, 34, 22, 34 }, | |
| 41 | −/*31*/ { 15, 24, 15, 24, 24, 39, 24, 39 }, | |
| 42 | −/*32*/ { 18, 27, 18, 27, 27, 43, 27, 43 }, | |
| 43 | −/*33*/ { 19, 31, 19, 31, 31, 49, 31, 49 }, | |
| 44 | −/*34*/ { 22, 34, 22, 34, 34, 54, 34, 54 }, | |
| 45 | −/*35*/ { 25, 40, 25, 40, 40, 62, 40, 62 }, | |
| 46 | −/*36*/ { 27, 45, 27, 45, 45, 69, 45, 69 }, | |
| 47 | −/*37*/ { 30, 48, 30, 48, 48, 77, 48, 77 }, | |
| 48 | −/*38*/ { 36, 55, 36, 55, 55, 86, 55, 86 }, | |
| 49 | −/*39*/ { 38, 62, 38, 62, 62, 99, 62, 99 }, | |
| 50 | −/*40*/ { 44, 69, 44, 69, 69, 107, 69, 107 }, | |
| 51 | −/*41*/ { 49, 79, 49, 79, 79, 125, 79, 125 }, | |
| 52 | −/*42*/ { 55, 89, 55, 89, 89, 137, 89, 137 }, | |
| 53 | −/*43*/ { 61, 96, 61, 96, 96, 154, 96, 154 }, | |
| 54 | −/*44*/ { 71, 110, 71, 110, 110, 171, 110, 171 }, | |
| 55 | −/*45*/ { 77, 124, 77, 124, 124, 198, 124, 198 }, | |
| 56 | −/*46*/ { 88, 137, 88, 137, 137, 217, 137, 217 }, | |
| 57 | −/*47*/ { 99, 159, 99, 159, 159, 250, 159, 250 }, | |
| 58 | −/*48*/ { 110, 179, 110, 179, 179, 275, 179, 275 }, | |
| 59 | −/*49*/ { 121, 191, 121, 191, 191, 313, 191, 313 }, | |
| 60 | −/*50*/ { 143, 221, 143, 221, 221, 341, 221, 341 }, | |
| 61 | −/*51*/ { 154, 245, 154, 245, 245, 402, 245, 402 }, | |
| 9 | +__align16 (const int16_t, g_kiQuantInterFFCompare[104][8]) = { | |
| 10 | + /* 0*/ { 0, 1, 0, 1, 1, 1, 1, 1 }, | |
| 11 | + /* 1*/ { 0, 1, 0, 1, 1, 1, 1, 1 }, | |
| 12 | + /* 2*/ { 1, 1, 1, 1, 1, 1, 1, 1 }, | |
| 13 | + /* 3*/ { 1, 1, 1, 1, 1, 2, 1, 2 }, | |
| 14 | + /* 4*/ { 1, 1, 1, 1, 1, 2, 1, 2 }, | |
| 15 | + /* 5*/ { 1, 1, 1, 1, 1, 2, 1, 2 }, | |
| 16 | + /* 6*/ { 1, 1, 1, 1, 1, 2, 1, 2 }, | |
| 17 | + /* 7*/ { 1, 2, 1, 2, 2, 2, 2, 2 }, | |
| 18 | + /* 8*/ { 1, 2, 1, 2, 2, 3, 2, 3 }, | |
| 19 | + /* 9*/ { 1, 2, 1, 2, 2, 3, 2, 3 }, | |
| 20 | + /*10*/ { 1, 2, 1, 2, 2, 3, 2, 3 }, | |
| 21 | + /*11*/ { 2, 2, 2, 2, 2, 4, 2, 4 }, | |
| 22 | + /*12*/ { 2, 3, 2, 3, 3, 4, 3, 4 }, | |
| 23 | + /*13*/ { 2, 3, 2, 3, 3, 5, 3, 5 }, | |
| 24 | + /*14*/ { 2, 3, 2, 3, 3, 5, 3, 5 }, | |
| 25 | + /*15*/ { 2, 4, 2, 4, 4, 6, 4, 6 }, | |
| 26 | + /*16*/ { 3, 4, 3, 4, 4, 7, 4, 7 }, | |
| 27 | + /*17*/ { 3, 5, 3, 5, 5, 8, 5, 8 }, | |
| 28 | + /*18*/ { 3, 6, 3, 6, 6, 9, 6, 9 }, | |
| 29 | + /*19*/ { 4, 6, 4, 6, 6, 10, 6, 10 }, | |
| 30 | + /*20*/ { 4, 7, 4, 7, 7, 11, 7, 11 }, | |
| 31 | + /*21*/ { 5, 8, 5, 8, 8, 12, 8, 12 }, | |
| 32 | + /*22*/ { 6, 9, 6, 9, 9, 13, 9, 13 }, | |
| 33 | + /*23*/ { 6, 10, 6, 10, 10, 16, 10, 16 }, | |
| 34 | + /*24*/ { 7, 11, 7, 11, 11, 17, 11, 17 }, | |
| 35 | + /*25*/ { 8, 12, 8, 12, 12, 19, 12, 19 }, | |
| 36 | + /*26*/ { 9, 14, 9, 14, 14, 21, 14, 21 }, | |
| 37 | + /*27*/ { 10, 15, 10, 15, 15, 25, 15, 25 }, | |
| 38 | + /*28*/ { 11, 17, 11, 17, 17, 27, 17, 27 }, | |
| 39 | + /*29*/ { 12, 20, 12, 20, 20, 31, 20, 31 }, | |
| 40 | + /*30*/ { 14, 22, 14, 22, 22, 34, 22, 34 }, | |
| 41 | + /*31*/ { 15, 24, 15, 24, 24, 39, 24, 39 }, | |
| 42 | + /*32*/ { 18, 27, 18, 27, 27, 43, 27, 43 }, | |
| 43 | + /*33*/ { 19, 31, 19, 31, 31, 49, 31, 49 }, | |
| 44 | + /*34*/ { 22, 34, 22, 34, 34, 54, 34, 54 }, | |
| 45 | + /*35*/ { 25, 40, 25, 40, 40, 62, 40, 62 }, | |
| 46 | + /*36*/ { 27, 45, 27, 45, 45, 69, 45, 69 }, | |
| 47 | + /*37*/ { 30, 48, 30, 48, 48, 77, 48, 77 }, | |
| 48 | + /*38*/ { 36, 55, 36, 55, 55, 86, 55, 86 }, | |
| 49 | + /*39*/ { 38, 62, 38, 62, 62, 99, 62, 99 }, | |
| 50 | + /*40*/ { 44, 69, 44, 69, 69, 107, 69, 107 }, | |
| 51 | + /*41*/ { 49, 79, 49, 79, 79, 125, 79, 125 }, | |
| 52 | + /*42*/ { 55, 89, 55, 89, 89, 137, 89, 137 }, | |
| 53 | + /*43*/ { 61, 96, 61, 96, 96, 154, 96, 154 }, | |
| 54 | + /*44*/ { 71, 110, 71, 110, 110, 171, 110, 171 }, | |
| 55 | + /*45*/ { 77, 124, 77, 124, 124, 198, 124, 198 }, | |
| 56 | + /*46*/ { 88, 137, 88, 137, 137, 217, 137, 217 }, | |
| 57 | + /*47*/ { 99, 159, 99, 159, 159, 250, 159, 250 }, | |
| 58 | + /*48*/ { 110, 179, 110, 179, 179, 275, 179, 275 }, | |
| 59 | + /*49*/ { 121, 191, 121, 191, 191, 313, 191, 313 }, | |
| 60 | + /*50*/ { 143, 221, 143, 221, 221, 341, 221, 341 }, | |
| 61 | + /*51*/ { 154, 245, 154, 245, 245, 402, 245, 402 }, | |
| 62 | 62 | //from here below is intra |
| 63 | −/* 0*/ { 1, 1, 1, 1, 1, 2, 1, 2 }, | |
| 64 | −/* 1*/ { 1, 1, 1, 1, 1, 2, 1, 2 }, | |
| 65 | −/* 2*/ { 1, 2, 1, 2, 2, 3, 2, 3 }, | |
| 66 | −/* 3*/ { 1, 2, 1, 2, 2, 3, 2, 3 }, | |
| 67 | −/* 4*/ { 1, 2, 1, 2, 2, 3, 2, 3 }, | |
| 68 | −/* 5*/ { 1, 2, 1, 2, 2, 4, 2, 4 }, | |
| 69 | −/* 6*/ { 2, 3, 2, 3, 3, 4, 3, 4 }, | |
| 70 | −/* 7*/ { 2, 3, 2, 3, 3, 5, 3, 5 }, | |
| 71 | −/* 8*/ { 2, 3, 2, 3, 3, 5, 3, 5 }, | |
| 72 | −/* 9*/ { 2, 4, 2, 4, 4, 6, 4, 6 }, | |
| 73 | −/*10*/ { 3, 4, 3, 4, 4, 6, 4, 6 }, | |
| 74 | −/*11*/ { 3, 5, 3, 5, 5, 7, 5, 7 }, | |
| 75 | −/*12*/ { 3, 5, 3, 5, 5, 8, 5, 8 }, | |
| 76 | −/*13*/ { 4, 6, 4, 6, 6, 9, 6, 9 }, | |
| 77 | −/*14*/ { 4, 7, 4, 7, 7, 10, 7, 10 }, | |
| 78 | −/*15*/ { 5, 7, 5, 7, 7, 12, 7, 12 }, | |
| 79 | −/*16*/ { 5, 8, 5, 8, 8, 13, 8, 13 }, | |
| 80 | −/*17*/ { 6, 9, 6, 9, 9, 15, 9, 15 }, | |
| 81 | −/*18*/ { 7, 11, 7, 11, 11, 16, 11, 16 }, | |
| 82 | −/*19*/ { 7, 11, 7, 11, 11, 18, 11, 18 }, | |
| 83 | −/*20*/ { 9, 13, 9, 13, 13, 20, 13, 20 }, | |
| 84 | −/*21*/ { 9, 15, 9, 15, 15, 24, 15, 24 }, | |
| 85 | −/*22*/ { 11, 16, 11, 16, 16, 26, 16, 26 }, | |
| 86 | −/*23*/ { 12, 19, 12, 19, 19, 30, 19, 30 }, | |
| 87 | −/*24*/ { 13, 21, 13, 21, 21, 33, 21, 33 }, | |
| 88 | −/*25*/ { 14, 23, 14, 23, 23, 37, 23, 37 }, | |
| 89 | −/*26*/ { 17, 26, 17, 26, 26, 41, 26, 41 }, | |
| 90 | −/*27*/ { 18, 30, 18, 30, 30, 47, 30, 47 }, | |
| 91 | −/*28*/ { 21, 33, 21, 33, 33, 51, 33, 51 }, | |
| 92 | −/*29*/ { 24, 38, 24, 38, 38, 59, 38, 59 }, | |
| 93 | −/*30*/ { 26, 43, 26, 43, 43, 66, 43, 66 }, | |
| 94 | −/*31*/ { 29, 46, 29, 46, 46, 74, 46, 74 }, | |
| 95 | −/*32*/ { 34, 52, 34, 52, 52, 82, 52, 82 }, | |
| 96 | −/*33*/ { 37, 59, 37, 59, 59, 94, 59, 94 }, | |
| 97 | −/*34*/ { 42, 66, 42, 66, 66, 102, 66, 102 }, | |
| 98 | −/*35*/ { 47, 75, 47, 75, 75, 119, 75, 119 }, | |
| 99 | −/*36*/ { 52, 85, 52, 85, 85, 131, 85, 131 }, | |
| 100 | −/*37*/ { 58, 92, 58, 92, 92, 147, 92, 147 }, | |
| 101 | −/*38*/ { 68, 105, 68, 105, 105, 164, 105, 164 }, | |
| 102 | −/*39*/ { 73, 118, 73, 118, 118, 189, 118, 189 }, | |
| 103 | −/*40*/ { 84, 131, 84, 131, 131, 205, 131, 205 }, | |
| 104 | −/*41*/ { 94, 151, 94, 151, 151, 239, 151, 239 }, | |
| 105 | −/*42*/ { 105, 171, 105, 171, 171, 262, 171, 262 }, | |
| 106 | −/*43*/ { 116, 184, 116, 184, 184, 295, 184, 295 }, | |
| 107 | −/*44*/ { 136, 211, 136, 211, 211, 326, 211, 326 }, | |
| 108 | −/*45*/ { 147, 236, 147, 236, 236, 377, 236, 377 }, | |
| 109 | −/*46*/ { 168, 262, 168, 262, 262, 414, 262, 414 }, | |
| 110 | −/*47*/ { 189, 303, 189, 303, 303, 478, 303, 478 }, | |
| 111 | −/*48*/ { 211, 341, 211, 341, 341, 524, 341, 524 }, | |
| 112 | −/*49*/ { 231, 364, 231, 364, 364, 597, 364, 597 }, | |
| 113 | −/*50*/ { 272, 422, 272, 422, 422, 652, 422, 652 }, | |
| 114 | −/*51*/ { 295, 467, 295, 467, 467, 768, 467, 768 } | |
| 63 | + /* 0*/ { 1, 1, 1, 1, 1, 2, 1, 2 }, | |
| 64 | + /* 1*/ { 1, 1, 1, 1, 1, 2, 1, 2 }, | |
| 65 | + /* 2*/ { 1, 2, 1, 2, 2, 3, 2, 3 }, | |
| 66 | + /* 3*/ { 1, 2, 1, 2, 2, 3, 2, 3 }, | |
| 67 | + /* 4*/ { 1, 2, 1, 2, 2, 3, 2, 3 }, | |
| 68 | + /* 5*/ { 1, 2, 1, 2, 2, 4, 2, 4 }, | |
| 69 | + /* 6*/ { 2, 3, 2, 3, 3, 4, 3, 4 }, | |
| 70 | + /* 7*/ { 2, 3, 2, 3, 3, 5, 3, 5 }, | |
| 71 | + /* 8*/ { 2, 3, 2, 3, 3, 5, 3, 5 }, | |
| 72 | + /* 9*/ { 2, 4, 2, 4, 4, 6, 4, 6 }, | |
| 73 | + /*10*/ { 3, 4, 3, 4, 4, 6, 4, 6 }, | |
| 74 | + /*11*/ { 3, 5, 3, 5, 5, 7, 5, 7 }, | |
| 75 | + /*12*/ { 3, 5, 3, 5, 5, 8, 5, 8 }, | |
| 76 | + /*13*/ { 4, 6, 4, 6, 6, 9, 6, 9 }, | |
| 77 | + /*14*/ { 4, 7, 4, 7, 7, 10, 7, 10 }, | |
| 78 | + /*15*/ { 5, 7, 5, 7, 7, 12, 7, 12 }, | |
| 79 | + /*16*/ { 5, 8, 5, 8, 8, 13, 8, 13 }, | |
| 80 | + /*17*/ { 6, 9, 6, 9, 9, 15, 9, 15 }, | |
| 81 | + /*18*/ { 7, 11, 7, 11, 11, 16, 11, 16 }, | |
| 82 | + /*19*/ { 7, 11, 7, 11, 11, 18, 11, 18 }, | |
| 83 | + /*20*/ { 9, 13, 9, 13, 13, 20, 13, 20 }, | |
| 84 | + /*21*/ { 9, 15, 9, 15, 15, 24, 15, 24 }, | |
| 85 | + /*22*/ { 11, 16, 11, 16, 16, 26, 16, 26 }, | |
| 86 | + /*23*/ { 12, 19, 12, 19, 19, 30, 19, 30 }, | |
| 87 | + /*24*/ { 13, 21, 13, 21, 21, 33, 21, 33 }, | |
| 88 | + /*25*/ { 14, 23, 14, 23, 23, 37, 23, 37 }, | |
| 89 | + /*26*/ { 17, 26, 17, 26, 26, 41, 26, 41 }, | |
| 90 | + /*27*/ { 18, 30, 18, 30, 30, 47, 30, 47 }, | |
| 91 | + /*28*/ { 21, 33, 21, 33, 33, 51, 33, 51 }, | |
| 92 | + /*29*/ { 24, 38, 24, 38, 38, 59, 38, 59 }, | |
| 93 | + /*30*/ { 26, 43, 26, 43, 43, 66, 43, 66 }, | |
| 94 | + /*31*/ { 29, 46, 29, 46, 46, 74, 46, 74 }, | |
| 95 | + /*32*/ { 34, 52, 34, 52, 52, 82, 52, 82 }, | |
| 96 | + /*33*/ { 37, 59, 37, 59, 59, 94, 59, 94 }, | |
| 97 | + /*34*/ { 42, 66, 42, 66, 66, 102, 66, 102 }, | |
| 98 | + /*35*/ { 47, 75, 47, 75, 75, 119, 75, 119 }, | |
| 99 | + /*36*/ { 52, 85, 52, 85, 85, 131, 85, 131 }, | |
| 100 | + /*37*/ { 58, 92, 58, 92, 92, 147, 92, 147 }, | |
| 101 | + /*38*/ { 68, 105, 68, 105, 105, 164, 105, 164 }, | |
| 102 | + /*39*/ { 73, 118, 73, 118, 118, 189, 118, 189 }, | |
| 103 | + /*40*/ { 84, 131, 84, 131, 131, 205, 131, 205 }, | |
| 104 | + /*41*/ { 94, 151, 94, 151, 151, 239, 151, 239 }, | |
| 105 | + /*42*/ { 105, 171, 105, 171, 171, 262, 171, 262 }, | |
| 106 | + /*43*/ { 116, 184, 116, 184, 184, 295, 184, 295 }, | |
| 107 | + /*44*/ { 136, 211, 136, 211, 211, 326, 211, 326 }, | |
| 108 | + /*45*/ { 147, 236, 147, 236, 236, 377, 236, 377 }, | |
| 109 | + /*46*/ { 168, 262, 168, 262, 262, 414, 262, 414 }, | |
| 110 | + /*47*/ { 189, 303, 189, 303, 303, 478, 303, 478 }, | |
| 111 | + /*48*/ { 211, 341, 211, 341, 341, 524, 341, 524 }, | |
| 112 | + /*49*/ { 231, 364, 231, 364, 364, 597, 364, 597 }, | |
| 113 | + /*50*/ { 272, 422, 272, 422, 422, 652, 422, 652 }, | |
| 114 | + /*51*/ { 295, 467, 295, 467, 467, 768, 467, 768 } | |
| 115 | 115 | }; |
| 116 | 116 | |
| 117 | 117 | #define ThValue 2 |
| 118 | 118 | |
| 119 | −void TestQuant(uint32_t qp,uint8_t *pSrc,uint8_t *pPred,int16_t *pDct, | |
| 120 | − int16_t *pDctCompare,int16_t iWidth,int16_t iHeight) { | |
| 121 | − const int16_t *pMf = g_kiQuantMF[qp]; | |
| 122 | − const int16_t *pFfCompareI = g_kiQuantInterFFCompare[52 + qp]; | |
| 123 | − const int16_t *pFfCompareP = g_kiQuantInterFFCompare[qp]; | |
| 124 | − const int16_t *pFfI = g_kiQuantInterFF[6 + qp]; | |
| 125 | − const int16_t *pFfP = g_kiQuantInterFF[qp]; | |
| 119 | +void TestQuant (uint32_t qp, uint8_t* pSrc, uint8_t* pPred, int16_t* pDct, | |
| 120 | + int16_t* pDctCompare, int16_t iWidth, int16_t iHeight) { | |
| 121 | + const int16_t* pMf = g_kiQuantMF[qp]; | |
| 122 | + const int16_t* pFfCompareI = g_kiQuantInterFFCompare[52 + qp]; | |
| 123 | + const int16_t* pFfCompareP = g_kiQuantInterFFCompare[qp]; | |
| 124 | + const int16_t* pFfI = g_kiQuantInterFF[6 + qp]; | |
| 125 | + const int16_t* pFfP = g_kiQuantInterFF[qp]; | |
| 126 | 126 | //quant4x4 Intra MB |
| 127 | − RandomPixelDataGenerator(pSrc,iWidth,iHeight,iWidth,0); | |
| 128 | − RandomPixelDataGenerator(pPred,iWidth,iHeight,iWidth,rand()); | |
| 127 | + RandomPixelDataGenerator (pSrc, iWidth, iHeight, iWidth, 0); | |
| 128 | + RandomPixelDataGenerator (pPred, iWidth, iHeight, iWidth, rand()); | |
| 129 | 129 | |
| 130 | − for (int16_t i = 0; i<16; i++) { | |
| 130 | + for (int16_t i = 0; i < 16; i++) { | |
| 131 | 131 | pDct[i] = pSrc[i] - pPred[i]; |
| 132 | 132 | pDctCompare[i] = pSrc[i] - pPred[i]; |
| 133 | 133 | } |
| 134 | 134 | |
| 135 | − WelsQuant4x4_c(pDct,pFfI,pMf); | |
| 136 | − WelsQuant4x4_c(pDctCompare,pFfCompareI,pMf); | |
| 135 | + WelsQuant4x4_c (pDct, pFfI, pMf); | |
| 136 | + WelsQuant4x4_c (pDctCompare, pFfCompareI, pMf); | |
| 137 | 137 | |
| 138 | − for (int16_t i = 0;i<16;i++) { | |
| 139 | − int16_t iDeta =WELS_ABS(pDct[i] - pDctCompare[i]); | |
| 138 | + for (int16_t i = 0; i < 16; i++) { | |
| 139 | + int16_t iDeta = WELS_ABS (pDct[i] - pDctCompare[i]); | |
| 140 | 140 | iDeta = (iDeta < ThValue) ? 0 : iDeta; |
| 141 | − EXPECT_EQ(iDeta,0); | |
| 141 | + EXPECT_EQ (iDeta, 0); | |
| 142 | 142 | } |
| 143 | 143 | |
| 144 | 144 | //quant4x4 DC |
| 145 | − RandomPixelDataGenerator(pSrc,iWidth,iHeight,iWidth,0); | |
| 146 | − RandomPixelDataGenerator(pPred,iWidth,iHeight,iWidth,rand()); | |
| 145 | + RandomPixelDataGenerator (pSrc, iWidth, iHeight, iWidth, 0); | |
| 146 | + RandomPixelDataGenerator (pPred, iWidth, iHeight, iWidth, rand()); | |
| 147 | 147 | |
| 148 | − for (int16_t i = 0;i<16;i++) { | |
| 148 | + for (int16_t i = 0; i < 16; i++) { | |
| 149 | 149 | pDct[i] = pSrc[i] - pPred[i]; |
| 150 | 150 | pDctCompare[i] = pSrc[i] - pPred[i]; |
| 151 | 151 | } |
| 152 | 152 | |
| 153 | − WelsQuant4x4Dc_c(pDct,pFfI[0]<<1,pMf[0]>>1); | |
| 154 | − WelsQuant4x4Dc_c(pDctCompare,pFfCompareI[0]<<1,pMf[0]>>1); | |
| 153 | + WelsQuant4x4Dc_c (pDct, pFfI[0] << 1, pMf[0]>>1); | |
| 154 | + WelsQuant4x4Dc_c (pDctCompare, pFfCompareI[0] << 1, pMf[0]>>1); | |
| 155 | 155 | |
| 156 | − for (int16_t i = 0;i<16;i++) { | |
| 157 | − int16_t iDeta =WELS_ABS(pDct[i] - pDctCompare[i]); | |
| 156 | + for (int16_t i = 0; i < 16; i++) { | |
| 157 | + int16_t iDeta = WELS_ABS (pDct[i] - pDctCompare[i]); | |
| 158 | 158 | iDeta = (iDeta < ThValue) ? 0 : iDeta; |
| 159 | − EXPECT_EQ(iDeta,0); | |
| 159 | + EXPECT_EQ (iDeta, 0); | |
| 160 | 160 | } |
| 161 | 161 | |
| 162 | 162 | //quant4x4 Inter MB |
| 163 | − RandomPixelDataGenerator(pSrc,iWidth,iHeight,iWidth,0); | |
| 164 | − RandomPixelDataGenerator(pPred,iWidth,iHeight,iWidth,rand()); | |
| 163 | + RandomPixelDataGenerator (pSrc, iWidth, iHeight, iWidth, 0); | |
| 164 | + RandomPixelDataGenerator (pPred, iWidth, iHeight, iWidth, rand()); | |
| 165 | 165 | |
| 166 | − for (int16_t i = 0; i<64; i++) { | |
| 166 | + for (int16_t i = 0; i < 64; i++) { | |
| 167 | 167 | pDct[i] = pSrc[i] - pPred[i]; |
| 168 | 168 | pDctCompare[i] = pSrc[i] - pPred[i]; |
| 169 | 169 | } |
| 170 | 170 | |
| 171 | − WelsQuantFour4x4_c(pDct,pFfP,pMf); | |
| 172 | − WelsQuantFour4x4_c(pDctCompare,pFfCompareP,pMf); | |
| 171 | + WelsQuantFour4x4_c (pDct, pFfP, pMf); | |
| 172 | + WelsQuantFour4x4_c (pDctCompare, pFfCompareP, pMf); | |
| 173 | 173 | |
| 174 | − for (int16_t i = 0; i<64; i++) { | |
| 175 | − int16_t iDeta =WELS_ABS(pDct[i] - pDctCompare[i]); | |
| 176 | − iDeta = (iDeta <ThValue)?0:iDeta; | |
| 177 | − EXPECT_EQ(iDeta,0); | |
| 174 | + for (int16_t i = 0; i < 64; i++) { | |
| 175 | + int16_t iDeta = WELS_ABS (pDct[i] - pDctCompare[i]); | |
| 176 | + iDeta = (iDeta < ThValue) ? 0 : iDeta; | |
| 177 | + EXPECT_EQ (iDeta, 0); | |
| 178 | 178 | } |
| 179 | 179 | } |
| 180 | 180 | |
| 181 | −TEST(EncoderMbTest, TestQuantTable) { | |
| 182 | − CMemoryAlign cMemoryAlign(0); | |
| 181 | +TEST (EncoderMbTest, TestQuantTable) { | |
| 182 | + CMemoryAlign cMemoryAlign (0); | |
| 183 | 183 | |
| 184 | 184 | int16_t iWidth = 16; |
| 185 | 185 | int16_t iHeight = 16; |
| 186 | 186 | |
| 187 | − uint8_t *pSrc = (uint8_t *)cMemoryAlign.WelsMalloc(iWidth*iHeight,"quant_src"); | |
| 188 | − uint8_t *pPred = (uint8_t *)cMemoryAlign.WelsMalloc(iWidth*iHeight,"quant_pred"); | |
| 189 | − int16_t *pDct = (int16_t *)cMemoryAlign.WelsMalloc(64*sizeof(int16_t),"Dct Buffer"); | |
| 190 | − int16_t *pDctCompare = (int16_t *)cMemoryAlign.WelsMalloc(64*sizeof(int16_t),"DctCompare Buffer"); | |
| 187 | + uint8_t* pSrc = (uint8_t*)cMemoryAlign.WelsMalloc (iWidth * iHeight, "quant_src"); | |
| 188 | + uint8_t* pPred = (uint8_t*)cMemoryAlign.WelsMalloc (iWidth * iHeight, "quant_pred"); | |
| 189 | + int16_t* pDct = (int16_t*)cMemoryAlign.WelsMalloc (64 * sizeof (int16_t), "Dct Buffer"); | |
| 190 | + int16_t* pDctCompare = (int16_t*)cMemoryAlign.WelsMalloc (64 * sizeof (int16_t), "DctCompare Buffer"); | |
| 191 | 191 | |
| 192 | − for (int32_t iQP = 0; iQP<51; iQP++) { | |
| 193 | − TestQuant(iQP,pSrc,pPred,pDct,pDctCompare,iWidth,iHeight); | |
| 192 | + for (int32_t iQP = 0; iQP < 51; iQP++) { | |
| 193 | + TestQuant (iQP, pSrc, pPred, pDct, pDctCompare, iWidth, iHeight); | |
| 194 | 194 | } |
| 195 | 195 | |
| 196 | − cMemoryAlign.WelsFree(pSrc,"quant_src"); | |
| 197 | − cMemoryAlign.WelsFree(pPred,"quant_pred"); | |
| 198 | − cMemoryAlign.WelsFree(pDct,"Dct Buffer"); | |
| 199 | − cMemoryAlign.WelsFree(pDctCompare,"DctCompare Buffer"); | |
| 196 | + cMemoryAlign.WelsFree (pSrc, "quant_src"); | |
| 197 | + cMemoryAlign.WelsFree (pPred, "quant_pred"); | |
| 198 | + cMemoryAlign.WelsFree (pDct, "Dct Buffer"); | |
| 199 | + cMemoryAlign.WelsFree (pDctCompare, "DctCompare Buffer"); | |
| 200 | 200 | } |