LCOV - code coverage report
Current view: top level - media/libvpx/libvpx/vp8/common - quant_common.c (source / functions) Hit Total Coverage
Test: output.info Lines: 0 49 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 6 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
       3             :  *
       4             :  *  Use of this source code is governed by a BSD-style license
       5             :  *  that can be found in the LICENSE file in the root of the source
       6             :  *  tree. An additional intellectual property rights grant can be found
       7             :  *  in the file PATENTS.  All contributing project authors may
       8             :  *  be found in the AUTHORS file in the root of the source tree.
       9             :  */
      10             : 
      11             : #include "quant_common.h"
      12             : 
      13             : static const int dc_qlookup[QINDEX_RANGE] = {
      14             :   4,   5,   6,   7,   8,   9,   10,  10,  11,  12,  13,  14,  15,  16,  17,
      15             :   17,  18,  19,  20,  20,  21,  21,  22,  22,  23,  23,  24,  25,  25,  26,
      16             :   27,  28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  37,  38,  39,  40,
      17             :   41,  42,  43,  44,  45,  46,  46,  47,  48,  49,  50,  51,  52,  53,  54,
      18             :   55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,
      19             :   70,  71,  72,  73,  74,  75,  76,  76,  77,  78,  79,  80,  81,  82,  83,
      20             :   84,  85,  86,  87,  88,  89,  91,  93,  95,  96,  98,  100, 101, 102, 104,
      21             :   106, 108, 110, 112, 114, 116, 118, 122, 124, 126, 128, 130, 132, 134, 136,
      22             :   138, 140, 143, 145, 148, 151, 154, 157,
      23             : };
      24             : 
      25             : static const int ac_qlookup[QINDEX_RANGE] = {
      26             :   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,  15,  16,  17,  18,
      27             :   19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,
      28             :   34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,  45,  46,  47,  48,
      29             :   49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  60,  62,  64,  66,  68,
      30             :   70,  72,  74,  76,  78,  80,  82,  84,  86,  88,  90,  92,  94,  96,  98,
      31             :   100, 102, 104, 106, 108, 110, 112, 114, 116, 119, 122, 125, 128, 131, 134,
      32             :   137, 140, 143, 146, 149, 152, 155, 158, 161, 164, 167, 170, 173, 177, 181,
      33             :   185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 234, 239, 245,
      34             :   249, 254, 259, 264, 269, 274, 279, 284,
      35             : };
      36             : 
      37           0 : int vp8_dc_quant(int QIndex, int Delta) {
      38             :   int retval;
      39             : 
      40           0 :   QIndex = QIndex + Delta;
      41             : 
      42           0 :   if (QIndex > 127) {
      43           0 :     QIndex = 127;
      44           0 :   } else if (QIndex < 0) {
      45           0 :     QIndex = 0;
      46             :   }
      47             : 
      48           0 :   retval = dc_qlookup[QIndex];
      49           0 :   return retval;
      50             : }
      51             : 
      52           0 : int vp8_dc2quant(int QIndex, int Delta) {
      53             :   int retval;
      54             : 
      55           0 :   QIndex = QIndex + Delta;
      56             : 
      57           0 :   if (QIndex > 127) {
      58           0 :     QIndex = 127;
      59           0 :   } else if (QIndex < 0) {
      60           0 :     QIndex = 0;
      61             :   }
      62             : 
      63           0 :   retval = dc_qlookup[QIndex] * 2;
      64           0 :   return retval;
      65             : }
      66           0 : int vp8_dc_uv_quant(int QIndex, int Delta) {
      67             :   int retval;
      68             : 
      69           0 :   QIndex = QIndex + Delta;
      70             : 
      71           0 :   if (QIndex > 127) {
      72           0 :     QIndex = 127;
      73           0 :   } else if (QIndex < 0) {
      74           0 :     QIndex = 0;
      75             :   }
      76             : 
      77           0 :   retval = dc_qlookup[QIndex];
      78             : 
      79           0 :   if (retval > 132) retval = 132;
      80             : 
      81           0 :   return retval;
      82             : }
      83             : 
      84           0 : int vp8_ac_yquant(int QIndex) {
      85             :   int retval;
      86             : 
      87           0 :   if (QIndex > 127) {
      88           0 :     QIndex = 127;
      89           0 :   } else if (QIndex < 0) {
      90           0 :     QIndex = 0;
      91             :   }
      92             : 
      93           0 :   retval = ac_qlookup[QIndex];
      94           0 :   return retval;
      95             : }
      96             : 
      97           0 : int vp8_ac2quant(int QIndex, int Delta) {
      98             :   int retval;
      99             : 
     100           0 :   QIndex = QIndex + Delta;
     101             : 
     102           0 :   if (QIndex > 127) {
     103           0 :     QIndex = 127;
     104           0 :   } else if (QIndex < 0) {
     105           0 :     QIndex = 0;
     106             :   }
     107             : 
     108             :   /* For all x in [0..284], x*155/100 is bitwise equal to (x*101581) >> 16.
     109             :    * The smallest precision for that is '(x*6349) >> 12' but 16 is a good
     110             :    * word size. */
     111           0 :   retval = (ac_qlookup[QIndex] * 101581) >> 16;
     112             : 
     113           0 :   if (retval < 8) retval = 8;
     114             : 
     115           0 :   return retval;
     116             : }
     117           0 : int vp8_ac_uv_quant(int QIndex, int Delta) {
     118             :   int retval;
     119             : 
     120           0 :   QIndex = QIndex + Delta;
     121             : 
     122           0 :   if (QIndex > 127) {
     123           0 :     QIndex = 127;
     124           0 :   } else if (QIndex < 0) {
     125           0 :     QIndex = 0;
     126             :   }
     127             : 
     128           0 :   retval = ac_qlookup[QIndex];
     129           0 :   return retval;
     130             : }

Generated by: LCOV version 1.13