• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • Examples
  • File List
  • Globals

libavcodec/rv40data.h

Go to the documentation of this file.
00001 /*
00002  * RealVideo 4 decoder
00003  * copyright (c) 2007 Konstantin Shishkov
00004  *
00005  * This file is part of Libav.
00006  *
00007  * Libav is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * Libav is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with Libav; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
00020  */
00021 
00027 #ifndef AVCODEC_RV40DATA_H
00028 #define AVCODEC_RV40DATA_H
00029 
00030 #include <stdint.h>
00031 
00036 static const int rv40_standard_widths[]   = { 160, 172, 240, 320, 352, 640, 704, 0};
00037 static const int rv40_standard_heights[]  = { 120, 132, 144, 240, 288, 480, -8, -10, 180, 360, 576, 0};
00039 
00040 #define MODE2_PATTERNS_NUM 20
00041 
00047 static const uint16_t rv40_aic_table_index[MODE2_PATTERNS_NUM] = {
00048  0x000, 0x100, 0x200,
00049  0x011, 0x111, 0x211, 0x511, 0x611,
00050  0x022, 0x122, 0x222, 0x722,
00051  0x272, 0x227,
00052  0x822, 0x282, 0x228,
00053  0x112, 0x116, 0x221
00054 };
00055 
00060 static const uint8_t rv40_luma_dc_quant[2][32] = {
00061  {  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,
00062    16, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 22, 22, 22, 22 },
00063  {  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,
00064    16, 17, 18, 19, 20, 20, 21, 21, 22, 23, 23, 23, 24, 24, 24, 24 }
00065 };
00066 
00073 static const uint8_t rv40_alpha_tab[32] = {
00074     128, 128, 128, 128, 128, 128, 128, 128,
00075     128, 128, 122,  96,  75,  59,  47,  37,
00076      29,  23,  18,  15,  13,  11,  10,   9,
00077       8,   7,   6,   5,   4,   3,   2,   1
00078 };
00080 static const uint8_t rv40_beta_tab[32] = {
00081      0,  0,  0,  0,  0,  0,  0,  0,  3,  3,  3,  4,  4,  4,  6,  6,
00082      6,  7,  8,  8,  9,  9, 10, 10, 11, 11, 12, 13, 14, 15, 16, 17
00083 };
00085 static const uint8_t rv40_filter_clip_tbl[3][32] = {
00086     {
00087         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00088         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
00089     },
00090     {
00091         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
00092         1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5
00093     },
00094     {
00095         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
00096         1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 7, 8, 9
00097     }
00098 }; // end loopfilter group
00100 
00101 #endif /* AVCODEC_RV40DATA_H */
Generated on Thu Jan 24 2013 17:08:53 for Libav by doxygen 1.7.1