OLD | NEW |
1 // Copyright 2014 Google Inc. All Rights Reserved. | 1 // Copyright 2014 Google Inc. All Rights Reserved. |
2 // | 2 // |
3 // Use of this source code is governed by a BSD-style license | 3 // Use of this source code is governed by a BSD-style license |
4 // that can be found in the COPYING file in the root of the source | 4 // that can be found in the COPYING file in the root of the source |
5 // tree. An additional intellectual property rights grant can be found | 5 // tree. An additional intellectual property rights grant can be found |
6 // in the file PATENTS. All contributing project authors may | 6 // in the file PATENTS. All contributing project authors may |
7 // be found in the AUTHORS file in the root of the source tree. | 7 // be found in the AUTHORS file in the root of the source tree. |
8 // ----------------------------------------------------------------------------- | 8 // ----------------------------------------------------------------------------- |
9 // | 9 // |
10 // MIPS version of speed-critical encoding functions. | 10 // MIPS version of speed-critical encoding functions. |
(...skipping 1375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1386 // A, B, C, D - offsets in bytes to load from out buffer | 1386 // A, B, C, D - offsets in bytes to load from out buffer |
1387 #define CONVERT_COEFFS_TO_BIN(A, B, C, D) \ | 1387 #define CONVERT_COEFFS_TO_BIN(A, B, C, D) \ |
1388 "ulw %[temp0], " #A "(%[out]) \n\t" \ | 1388 "ulw %[temp0], " #A "(%[out]) \n\t" \ |
1389 "ulw %[temp1], " #B "(%[out]) \n\t" \ | 1389 "ulw %[temp1], " #B "(%[out]) \n\t" \ |
1390 "ulw %[temp2], " #C "(%[out]) \n\t" \ | 1390 "ulw %[temp2], " #C "(%[out]) \n\t" \ |
1391 "ulw %[temp3], " #D "(%[out]) \n\t" \ | 1391 "ulw %[temp3], " #D "(%[out]) \n\t" \ |
1392 "absq_s.ph %[temp0], %[temp0] \n\t" \ | 1392 "absq_s.ph %[temp0], %[temp0] \n\t" \ |
1393 "absq_s.ph %[temp1], %[temp1] \n\t" \ | 1393 "absq_s.ph %[temp1], %[temp1] \n\t" \ |
1394 "absq_s.ph %[temp2], %[temp2] \n\t" \ | 1394 "absq_s.ph %[temp2], %[temp2] \n\t" \ |
1395 "absq_s.ph %[temp3], %[temp3] \n\t" \ | 1395 "absq_s.ph %[temp3], %[temp3] \n\t" \ |
1396 /* TODO(skal): add rounding ? shra_r.ph : shra.ph */ \ | |
1397 /* for following 4 instructions */ \ | |
1398 "shra.ph %[temp0], %[temp0], 3 \n\t" \ | 1396 "shra.ph %[temp0], %[temp0], 3 \n\t" \ |
1399 "shra.ph %[temp1], %[temp1], 3 \n\t" \ | 1397 "shra.ph %[temp1], %[temp1], 3 \n\t" \ |
1400 "shra.ph %[temp2], %[temp2], 3 \n\t" \ | 1398 "shra.ph %[temp2], %[temp2], 3 \n\t" \ |
1401 "shra.ph %[temp3], %[temp3], 3 \n\t" \ | 1399 "shra.ph %[temp3], %[temp3], 3 \n\t" \ |
1402 "shll_s.ph %[temp0], %[temp0], 10 \n\t" \ | 1400 "shll_s.ph %[temp0], %[temp0], 10 \n\t" \ |
1403 "shll_s.ph %[temp1], %[temp1], 10 \n\t" \ | 1401 "shll_s.ph %[temp1], %[temp1], 10 \n\t" \ |
1404 "shll_s.ph %[temp2], %[temp2], 10 \n\t" \ | 1402 "shll_s.ph %[temp2], %[temp2], 10 \n\t" \ |
1405 "shll_s.ph %[temp3], %[temp3], 10 \n\t" \ | 1403 "shll_s.ph %[temp3], %[temp3], 10 \n\t" \ |
1406 "shrl.ph %[temp0], %[temp0], 10 \n\t" \ | 1404 "shrl.ph %[temp0], %[temp0], 10 \n\t" \ |
1407 "shrl.ph %[temp1], %[temp1], 10 \n\t" \ | 1405 "shrl.ph %[temp1], %[temp1], 10 \n\t" \ |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1503 VP8EncQuantize2Blocks = Quantize2Blocks; | 1501 VP8EncQuantize2Blocks = Quantize2Blocks; |
1504 VP8FTransformWHT = FTransformWHT; | 1502 VP8FTransformWHT = FTransformWHT; |
1505 VP8CollectHistogram = CollectHistogram; | 1503 VP8CollectHistogram = CollectHistogram; |
1506 } | 1504 } |
1507 | 1505 |
1508 #else // !WEBP_USE_MIPS_DSP_R2 | 1506 #else // !WEBP_USE_MIPS_DSP_R2 |
1509 | 1507 |
1510 WEBP_DSP_INIT_STUB(VP8EncDspInitMIPSdspR2) | 1508 WEBP_DSP_INIT_STUB(VP8EncDspInitMIPSdspR2) |
1511 | 1509 |
1512 #endif // WEBP_USE_MIPS_DSP_R2 | 1510 #endif // WEBP_USE_MIPS_DSP_R2 |
OLD | NEW |