gfx/ycbcr/yuv_row_table.cpp

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
     2 // Use of this source code is governed by a BSD-style license that can be
     3 // found in the LICENSE file.
     5 #include "yuv_row.h"
     7 extern "C" {
     9 #define RGBY(i) { \
    10   static_cast<int16>(1.164 * 64 * (i - 16) + 0.5), \
    11   static_cast<int16>(1.164 * 64 * (i - 16) + 0.5), \
    12   static_cast<int16>(1.164 * 64 * (i - 16) + 0.5), \
    13   0 \
    14 }
    16 #define RGBU(i) { \
    17   static_cast<int16>(2.018 * 64 * (i - 128) + 0.5), \
    18   static_cast<int16>(-0.391 * 64 * (i - 128) + 0.5), \
    19   0, \
    20   static_cast<int16>(256 * 64 - 1) \
    21 }
    23 #define RGBV(i) { \
    24   0, \
    25   static_cast<int16>(-0.813 * 64 * (i - 128) + 0.5), \
    26   static_cast<int16>(1.596 * 64 * (i - 128) + 0.5), \
    27   0 \
    28 }
    30 SIMD_ALIGNED(int16 kCoefficientsRgbY[256 * 3][4]) = {
    31   RGBY(0x00), RGBY(0x01), RGBY(0x02), RGBY(0x03),
    32   RGBY(0x04), RGBY(0x05), RGBY(0x06), RGBY(0x07),
    33   RGBY(0x08), RGBY(0x09), RGBY(0x0A), RGBY(0x0B),
    34   RGBY(0x0C), RGBY(0x0D), RGBY(0x0E), RGBY(0x0F),
    35   RGBY(0x10), RGBY(0x11), RGBY(0x12), RGBY(0x13),
    36   RGBY(0x14), RGBY(0x15), RGBY(0x16), RGBY(0x17),
    37   RGBY(0x18), RGBY(0x19), RGBY(0x1A), RGBY(0x1B),
    38   RGBY(0x1C), RGBY(0x1D), RGBY(0x1E), RGBY(0x1F),
    39   RGBY(0x20), RGBY(0x21), RGBY(0x22), RGBY(0x23),
    40   RGBY(0x24), RGBY(0x25), RGBY(0x26), RGBY(0x27),
    41   RGBY(0x28), RGBY(0x29), RGBY(0x2A), RGBY(0x2B),
    42   RGBY(0x2C), RGBY(0x2D), RGBY(0x2E), RGBY(0x2F),
    43   RGBY(0x30), RGBY(0x31), RGBY(0x32), RGBY(0x33),
    44   RGBY(0x34), RGBY(0x35), RGBY(0x36), RGBY(0x37),
    45   RGBY(0x38), RGBY(0x39), RGBY(0x3A), RGBY(0x3B),
    46   RGBY(0x3C), RGBY(0x3D), RGBY(0x3E), RGBY(0x3F),
    47   RGBY(0x40), RGBY(0x41), RGBY(0x42), RGBY(0x43),
    48   RGBY(0x44), RGBY(0x45), RGBY(0x46), RGBY(0x47),
    49   RGBY(0x48), RGBY(0x49), RGBY(0x4A), RGBY(0x4B),
    50   RGBY(0x4C), RGBY(0x4D), RGBY(0x4E), RGBY(0x4F),
    51   RGBY(0x50), RGBY(0x51), RGBY(0x52), RGBY(0x53),
    52   RGBY(0x54), RGBY(0x55), RGBY(0x56), RGBY(0x57),
    53   RGBY(0x58), RGBY(0x59), RGBY(0x5A), RGBY(0x5B),
    54   RGBY(0x5C), RGBY(0x5D), RGBY(0x5E), RGBY(0x5F),
    55   RGBY(0x60), RGBY(0x61), RGBY(0x62), RGBY(0x63),
    56   RGBY(0x64), RGBY(0x65), RGBY(0x66), RGBY(0x67),
    57   RGBY(0x68), RGBY(0x69), RGBY(0x6A), RGBY(0x6B),
    58   RGBY(0x6C), RGBY(0x6D), RGBY(0x6E), RGBY(0x6F),
    59   RGBY(0x70), RGBY(0x71), RGBY(0x72), RGBY(0x73),
    60   RGBY(0x74), RGBY(0x75), RGBY(0x76), RGBY(0x77),
    61   RGBY(0x78), RGBY(0x79), RGBY(0x7A), RGBY(0x7B),
    62   RGBY(0x7C), RGBY(0x7D), RGBY(0x7E), RGBY(0x7F),
    63   RGBY(0x80), RGBY(0x81), RGBY(0x82), RGBY(0x83),
    64   RGBY(0x84), RGBY(0x85), RGBY(0x86), RGBY(0x87),
    65   RGBY(0x88), RGBY(0x89), RGBY(0x8A), RGBY(0x8B),
    66   RGBY(0x8C), RGBY(0x8D), RGBY(0x8E), RGBY(0x8F),
    67   RGBY(0x90), RGBY(0x91), RGBY(0x92), RGBY(0x93),
    68   RGBY(0x94), RGBY(0x95), RGBY(0x96), RGBY(0x97),
    69   RGBY(0x98), RGBY(0x99), RGBY(0x9A), RGBY(0x9B),
    70   RGBY(0x9C), RGBY(0x9D), RGBY(0x9E), RGBY(0x9F),
    71   RGBY(0xA0), RGBY(0xA1), RGBY(0xA2), RGBY(0xA3),
    72   RGBY(0xA4), RGBY(0xA5), RGBY(0xA6), RGBY(0xA7),
    73   RGBY(0xA8), RGBY(0xA9), RGBY(0xAA), RGBY(0xAB),
    74   RGBY(0xAC), RGBY(0xAD), RGBY(0xAE), RGBY(0xAF),
    75   RGBY(0xB0), RGBY(0xB1), RGBY(0xB2), RGBY(0xB3),
    76   RGBY(0xB4), RGBY(0xB5), RGBY(0xB6), RGBY(0xB7),
    77   RGBY(0xB8), RGBY(0xB9), RGBY(0xBA), RGBY(0xBB),
    78   RGBY(0xBC), RGBY(0xBD), RGBY(0xBE), RGBY(0xBF),
    79   RGBY(0xC0), RGBY(0xC1), RGBY(0xC2), RGBY(0xC3),
    80   RGBY(0xC4), RGBY(0xC5), RGBY(0xC6), RGBY(0xC7),
    81   RGBY(0xC8), RGBY(0xC9), RGBY(0xCA), RGBY(0xCB),
    82   RGBY(0xCC), RGBY(0xCD), RGBY(0xCE), RGBY(0xCF),
    83   RGBY(0xD0), RGBY(0xD1), RGBY(0xD2), RGBY(0xD3),
    84   RGBY(0xD4), RGBY(0xD5), RGBY(0xD6), RGBY(0xD7),
    85   RGBY(0xD8), RGBY(0xD9), RGBY(0xDA), RGBY(0xDB),
    86   RGBY(0xDC), RGBY(0xDD), RGBY(0xDE), RGBY(0xDF),
    87   RGBY(0xE0), RGBY(0xE1), RGBY(0xE2), RGBY(0xE3),
    88   RGBY(0xE4), RGBY(0xE5), RGBY(0xE6), RGBY(0xE7),
    89   RGBY(0xE8), RGBY(0xE9), RGBY(0xEA), RGBY(0xEB),
    90   RGBY(0xEC), RGBY(0xED), RGBY(0xEE), RGBY(0xEF),
    91   RGBY(0xF0), RGBY(0xF1), RGBY(0xF2), RGBY(0xF3),
    92   RGBY(0xF4), RGBY(0xF5), RGBY(0xF6), RGBY(0xF7),
    93   RGBY(0xF8), RGBY(0xF9), RGBY(0xFA), RGBY(0xFB),
    94   RGBY(0xFC), RGBY(0xFD), RGBY(0xFE), RGBY(0xFF),
    96   // Chroma U table.
    97   RGBU(0x00), RGBU(0x01), RGBU(0x02), RGBU(0x03),
    98   RGBU(0x04), RGBU(0x05), RGBU(0x06), RGBU(0x07),
    99   RGBU(0x08), RGBU(0x09), RGBU(0x0A), RGBU(0x0B),
   100   RGBU(0x0C), RGBU(0x0D), RGBU(0x0E), RGBU(0x0F),
   101   RGBU(0x10), RGBU(0x11), RGBU(0x12), RGBU(0x13),
   102   RGBU(0x14), RGBU(0x15), RGBU(0x16), RGBU(0x17),
   103   RGBU(0x18), RGBU(0x19), RGBU(0x1A), RGBU(0x1B),
   104   RGBU(0x1C), RGBU(0x1D), RGBU(0x1E), RGBU(0x1F),
   105   RGBU(0x20), RGBU(0x21), RGBU(0x22), RGBU(0x23),
   106   RGBU(0x24), RGBU(0x25), RGBU(0x26), RGBU(0x27),
   107   RGBU(0x28), RGBU(0x29), RGBU(0x2A), RGBU(0x2B),
   108   RGBU(0x2C), RGBU(0x2D), RGBU(0x2E), RGBU(0x2F),
   109   RGBU(0x30), RGBU(0x31), RGBU(0x32), RGBU(0x33),
   110   RGBU(0x34), RGBU(0x35), RGBU(0x36), RGBU(0x37),
   111   RGBU(0x38), RGBU(0x39), RGBU(0x3A), RGBU(0x3B),
   112   RGBU(0x3C), RGBU(0x3D), RGBU(0x3E), RGBU(0x3F),
   113   RGBU(0x40), RGBU(0x41), RGBU(0x42), RGBU(0x43),
   114   RGBU(0x44), RGBU(0x45), RGBU(0x46), RGBU(0x47),
   115   RGBU(0x48), RGBU(0x49), RGBU(0x4A), RGBU(0x4B),
   116   RGBU(0x4C), RGBU(0x4D), RGBU(0x4E), RGBU(0x4F),
   117   RGBU(0x50), RGBU(0x51), RGBU(0x52), RGBU(0x53),
   118   RGBU(0x54), RGBU(0x55), RGBU(0x56), RGBU(0x57),
   119   RGBU(0x58), RGBU(0x59), RGBU(0x5A), RGBU(0x5B),
   120   RGBU(0x5C), RGBU(0x5D), RGBU(0x5E), RGBU(0x5F),
   121   RGBU(0x60), RGBU(0x61), RGBU(0x62), RGBU(0x63),
   122   RGBU(0x64), RGBU(0x65), RGBU(0x66), RGBU(0x67),
   123   RGBU(0x68), RGBU(0x69), RGBU(0x6A), RGBU(0x6B),
   124   RGBU(0x6C), RGBU(0x6D), RGBU(0x6E), RGBU(0x6F),
   125   RGBU(0x70), RGBU(0x71), RGBU(0x72), RGBU(0x73),
   126   RGBU(0x74), RGBU(0x75), RGBU(0x76), RGBU(0x77),
   127   RGBU(0x78), RGBU(0x79), RGBU(0x7A), RGBU(0x7B),
   128   RGBU(0x7C), RGBU(0x7D), RGBU(0x7E), RGBU(0x7F),
   129   RGBU(0x80), RGBU(0x81), RGBU(0x82), RGBU(0x83),
   130   RGBU(0x84), RGBU(0x85), RGBU(0x86), RGBU(0x87),
   131   RGBU(0x88), RGBU(0x89), RGBU(0x8A), RGBU(0x8B),
   132   RGBU(0x8C), RGBU(0x8D), RGBU(0x8E), RGBU(0x8F),
   133   RGBU(0x90), RGBU(0x91), RGBU(0x92), RGBU(0x93),
   134   RGBU(0x94), RGBU(0x95), RGBU(0x96), RGBU(0x97),
   135   RGBU(0x98), RGBU(0x99), RGBU(0x9A), RGBU(0x9B),
   136   RGBU(0x9C), RGBU(0x9D), RGBU(0x9E), RGBU(0x9F),
   137   RGBU(0xA0), RGBU(0xA1), RGBU(0xA2), RGBU(0xA3),
   138   RGBU(0xA4), RGBU(0xA5), RGBU(0xA6), RGBU(0xA7),
   139   RGBU(0xA8), RGBU(0xA9), RGBU(0xAA), RGBU(0xAB),
   140   RGBU(0xAC), RGBU(0xAD), RGBU(0xAE), RGBU(0xAF),
   141   RGBU(0xB0), RGBU(0xB1), RGBU(0xB2), RGBU(0xB3),
   142   RGBU(0xB4), RGBU(0xB5), RGBU(0xB6), RGBU(0xB7),
   143   RGBU(0xB8), RGBU(0xB9), RGBU(0xBA), RGBU(0xBB),
   144   RGBU(0xBC), RGBU(0xBD), RGBU(0xBE), RGBU(0xBF),
   145   RGBU(0xC0), RGBU(0xC1), RGBU(0xC2), RGBU(0xC3),
   146   RGBU(0xC4), RGBU(0xC5), RGBU(0xC6), RGBU(0xC7),
   147   RGBU(0xC8), RGBU(0xC9), RGBU(0xCA), RGBU(0xCB),
   148   RGBU(0xCC), RGBU(0xCD), RGBU(0xCE), RGBU(0xCF),
   149   RGBU(0xD0), RGBU(0xD1), RGBU(0xD2), RGBU(0xD3),
   150   RGBU(0xD4), RGBU(0xD5), RGBU(0xD6), RGBU(0xD7),
   151   RGBU(0xD8), RGBU(0xD9), RGBU(0xDA), RGBU(0xDB),
   152   RGBU(0xDC), RGBU(0xDD), RGBU(0xDE), RGBU(0xDF),
   153   RGBU(0xE0), RGBU(0xE1), RGBU(0xE2), RGBU(0xE3),
   154   RGBU(0xE4), RGBU(0xE5), RGBU(0xE6), RGBU(0xE7),
   155   RGBU(0xE8), RGBU(0xE9), RGBU(0xEA), RGBU(0xEB),
   156   RGBU(0xEC), RGBU(0xED), RGBU(0xEE), RGBU(0xEF),
   157   RGBU(0xF0), RGBU(0xF1), RGBU(0xF2), RGBU(0xF3),
   158   RGBU(0xF4), RGBU(0xF5), RGBU(0xF6), RGBU(0xF7),
   159   RGBU(0xF8), RGBU(0xF9), RGBU(0xFA), RGBU(0xFB),
   160   RGBU(0xFC), RGBU(0xFD), RGBU(0xFE), RGBU(0xFF),
   162   // Chroma V table.
   163   RGBV(0x00), RGBV(0x01), RGBV(0x02), RGBV(0x03),
   164   RGBV(0x04), RGBV(0x05), RGBV(0x06), RGBV(0x07),
   165   RGBV(0x08), RGBV(0x09), RGBV(0x0A), RGBV(0x0B),
   166   RGBV(0x0C), RGBV(0x0D), RGBV(0x0E), RGBV(0x0F),
   167   RGBV(0x10), RGBV(0x11), RGBV(0x12), RGBV(0x13),
   168   RGBV(0x14), RGBV(0x15), RGBV(0x16), RGBV(0x17),
   169   RGBV(0x18), RGBV(0x19), RGBV(0x1A), RGBV(0x1B),
   170   RGBV(0x1C), RGBV(0x1D), RGBV(0x1E), RGBV(0x1F),
   171   RGBV(0x20), RGBV(0x21), RGBV(0x22), RGBV(0x23),
   172   RGBV(0x24), RGBV(0x25), RGBV(0x26), RGBV(0x27),
   173   RGBV(0x28), RGBV(0x29), RGBV(0x2A), RGBV(0x2B),
   174   RGBV(0x2C), RGBV(0x2D), RGBV(0x2E), RGBV(0x2F),
   175   RGBV(0x30), RGBV(0x31), RGBV(0x32), RGBV(0x33),
   176   RGBV(0x34), RGBV(0x35), RGBV(0x36), RGBV(0x37),
   177   RGBV(0x38), RGBV(0x39), RGBV(0x3A), RGBV(0x3B),
   178   RGBV(0x3C), RGBV(0x3D), RGBV(0x3E), RGBV(0x3F),
   179   RGBV(0x40), RGBV(0x41), RGBV(0x42), RGBV(0x43),
   180   RGBV(0x44), RGBV(0x45), RGBV(0x46), RGBV(0x47),
   181   RGBV(0x48), RGBV(0x49), RGBV(0x4A), RGBV(0x4B),
   182   RGBV(0x4C), RGBV(0x4D), RGBV(0x4E), RGBV(0x4F),
   183   RGBV(0x50), RGBV(0x51), RGBV(0x52), RGBV(0x53),
   184   RGBV(0x54), RGBV(0x55), RGBV(0x56), RGBV(0x57),
   185   RGBV(0x58), RGBV(0x59), RGBV(0x5A), RGBV(0x5B),
   186   RGBV(0x5C), RGBV(0x5D), RGBV(0x5E), RGBV(0x5F),
   187   RGBV(0x60), RGBV(0x61), RGBV(0x62), RGBV(0x63),
   188   RGBV(0x64), RGBV(0x65), RGBV(0x66), RGBV(0x67),
   189   RGBV(0x68), RGBV(0x69), RGBV(0x6A), RGBV(0x6B),
   190   RGBV(0x6C), RGBV(0x6D), RGBV(0x6E), RGBV(0x6F),
   191   RGBV(0x70), RGBV(0x71), RGBV(0x72), RGBV(0x73),
   192   RGBV(0x74), RGBV(0x75), RGBV(0x76), RGBV(0x77),
   193   RGBV(0x78), RGBV(0x79), RGBV(0x7A), RGBV(0x7B),
   194   RGBV(0x7C), RGBV(0x7D), RGBV(0x7E), RGBV(0x7F),
   195   RGBV(0x80), RGBV(0x81), RGBV(0x82), RGBV(0x83),
   196   RGBV(0x84), RGBV(0x85), RGBV(0x86), RGBV(0x87),
   197   RGBV(0x88), RGBV(0x89), RGBV(0x8A), RGBV(0x8B),
   198   RGBV(0x8C), RGBV(0x8D), RGBV(0x8E), RGBV(0x8F),
   199   RGBV(0x90), RGBV(0x91), RGBV(0x92), RGBV(0x93),
   200   RGBV(0x94), RGBV(0x95), RGBV(0x96), RGBV(0x97),
   201   RGBV(0x98), RGBV(0x99), RGBV(0x9A), RGBV(0x9B),
   202   RGBV(0x9C), RGBV(0x9D), RGBV(0x9E), RGBV(0x9F),
   203   RGBV(0xA0), RGBV(0xA1), RGBV(0xA2), RGBV(0xA3),
   204   RGBV(0xA4), RGBV(0xA5), RGBV(0xA6), RGBV(0xA7),
   205   RGBV(0xA8), RGBV(0xA9), RGBV(0xAA), RGBV(0xAB),
   206   RGBV(0xAC), RGBV(0xAD), RGBV(0xAE), RGBV(0xAF),
   207   RGBV(0xB0), RGBV(0xB1), RGBV(0xB2), RGBV(0xB3),
   208   RGBV(0xB4), RGBV(0xB5), RGBV(0xB6), RGBV(0xB7),
   209   RGBV(0xB8), RGBV(0xB9), RGBV(0xBA), RGBV(0xBB),
   210   RGBV(0xBC), RGBV(0xBD), RGBV(0xBE), RGBV(0xBF),
   211   RGBV(0xC0), RGBV(0xC1), RGBV(0xC2), RGBV(0xC3),
   212   RGBV(0xC4), RGBV(0xC5), RGBV(0xC6), RGBV(0xC7),
   213   RGBV(0xC8), RGBV(0xC9), RGBV(0xCA), RGBV(0xCB),
   214   RGBV(0xCC), RGBV(0xCD), RGBV(0xCE), RGBV(0xCF),
   215   RGBV(0xD0), RGBV(0xD1), RGBV(0xD2), RGBV(0xD3),
   216   RGBV(0xD4), RGBV(0xD5), RGBV(0xD6), RGBV(0xD7),
   217   RGBV(0xD8), RGBV(0xD9), RGBV(0xDA), RGBV(0xDB),
   218   RGBV(0xDC), RGBV(0xDD), RGBV(0xDE), RGBV(0xDF),
   219   RGBV(0xE0), RGBV(0xE1), RGBV(0xE2), RGBV(0xE3),
   220   RGBV(0xE4), RGBV(0xE5), RGBV(0xE6), RGBV(0xE7),
   221   RGBV(0xE8), RGBV(0xE9), RGBV(0xEA), RGBV(0xEB),
   222   RGBV(0xEC), RGBV(0xED), RGBV(0xEE), RGBV(0xEF),
   223   RGBV(0xF0), RGBV(0xF1), RGBV(0xF2), RGBV(0xF3),
   224   RGBV(0xF4), RGBV(0xF5), RGBV(0xF6), RGBV(0xF7),
   225   RGBV(0xF8), RGBV(0xF9), RGBV(0xFA), RGBV(0xFB),
   226   RGBV(0xFC), RGBV(0xFD), RGBV(0xFE), RGBV(0xFF),
   227 };
   229 #undef RGBY
   230 #undef RGBU
   231 #undef RGBV
   233 }  // extern "C"

mercurial