libavcodec/a64tables.h
Go to the documentation of this file.
00001 /*
00002  * a64 video encoder - tables used by a64 encoders
00003  * Copyright (c) 2009 Tobias Bindhammer
00004  *
00005  * This file is part of FFmpeg.
00006  *
00007  * FFmpeg 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  * FFmpeg 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 FFmpeg; 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_A64TABLES_H
00028 #define AVCODEC_A64TABLES_H
00029 
00030 #include <stdint.h>
00031 
00036 static const uint8_t multi_dither_patterns[9][4][4] = {
00037     {
00038      {0, 0, 0, 0},
00039      {0, 0, 0, 0},
00040      {0, 0, 0, 0},
00041      {0, 0, 0, 0}
00042      },
00043     {
00044      {1, 0, 0, 0},
00045      {0, 0, 0, 0},
00046      {0, 0, 1, 0},
00047      {0, 0, 0, 0}
00048      },
00049     {
00050      {1, 0, 0, 0},
00051      {0, 0, 1, 0},
00052      {0, 1, 0, 0},
00053      {0, 0, 0, 1}
00054      },
00055     {
00056      {1, 0, 0, 0},
00057      {0, 1, 0, 1},
00058      {0, 0, 1, 0},
00059      {0, 1, 0, 1}
00060      },
00061     {
00062      {1, 0, 1, 0},
00063      {0, 1, 0, 1},
00064      {1, 0, 1, 0},
00065      {0, 1, 0, 1}
00066      },
00067     {
00068      {1, 1, 1, 0},
00069      {0, 1, 0, 1},
00070      {1, 0, 1, 1},
00071      {0, 1, 0, 1}
00072      },
00073     {
00074      {0, 1, 1, 1},
00075      {1, 1, 0, 1},
00076      {1, 0, 1, 1},
00077      {1, 1, 1, 0}
00078      },
00079     {
00080      {0, 1, 1, 1},
00081      {1, 1, 1, 1},
00082      {1, 1, 0, 1},
00083      {1, 1, 1, 1}
00084      },
00085     {
00086      {1, 1, 1, 1},
00087      {1, 1, 1, 1},
00088      {1, 1, 1, 1},
00089      {1, 1, 1, 1}
00090      },
00091 };
00092 
00093 static const uint8_t interlaced_dither_patterns[9][8][4] = {
00094     {
00095      {0, 0, 0, 0}, {0, 0, 0, 0},
00096      {0, 0, 0, 0}, {0, 0, 0, 0},
00097      {0, 0, 0, 0}, {0, 0, 0, 0},
00098      {0, 0, 0, 0}, {0, 0, 0, 0},
00099      },
00100     {
00101      {1, 0, 1, 0}, {0, 0, 0, 0},
00102      {0, 0, 0, 0}, {0, 0, 0, 0},
00103      {1, 0, 1, 0}, {0, 0, 0, 0},
00104      {0, 0, 0, 0}, {0, 0, 0, 0},
00105      },
00106     {
00107      {1, 0, 1, 0}, {0, 0, 0, 0},
00108      {0, 0, 0, 0}, {0, 1, 0, 1},
00109      {1, 0, 1, 0}, {0, 0, 0, 0},
00110      {0, 0, 0, 0}, {0, 1, 0, 1},
00111      },
00112     {
00113      {1, 0, 1, 0}, {0, 1, 0, 1},
00114      {0, 1, 0, 1}, {0, 0, 0, 0},
00115      {1, 0, 1, 0}, {0, 1, 0, 1},
00116      {0, 1, 0, 1}, {0, 0, 0, 0},
00117      },
00118     {
00119      {1, 0, 1, 0}, {0, 1, 0, 1},
00120      {0, 1, 0, 1}, {1, 0, 1, 0},
00121      {1, 0, 1, 0}, {0, 1, 0, 1},
00122      {0, 1, 0, 1}, {1, 0, 1, 0},
00123      },
00124     {
00125      {1, 0, 1, 0}, {0, 1, 0, 1},
00126      {1, 1, 1, 1}, {1, 0, 1, 0},
00127      {1, 0, 1, 0}, {0, 1, 0, 1},
00128      {1, 1, 1, 1}, {1, 0, 1, 0},
00129      },
00130     {
00131      {1, 0, 1, 0}, {1, 1, 1, 1},
00132      {1, 1, 1, 1}, {0, 1, 0, 1},
00133      {1, 0, 1, 0}, {1, 1, 1, 1},
00134      {1, 1, 1, 1}, {0, 1, 0, 1},
00135      },
00136     {
00137      {1, 1, 1, 1}, {1, 1, 1, 1},
00138      {1, 1, 1, 1}, {0, 1, 0, 1},
00139      {1, 1, 1, 1}, {1, 1, 1, 1},
00140      {1, 1, 1, 1}, {0, 1, 0, 1},
00141      },
00142     {
00143      {1, 1, 1, 1}, {1, 1, 1, 1},
00144      {1, 1, 1, 1}, {1, 1, 1, 1},
00145      {1, 1, 1, 1}, {1, 1, 1, 1},
00146      {1, 1, 1, 1}, {1, 1, 1, 1},
00147      }
00148 };
00149 
00150 #endif /* AVCODEC_A64TABLES_H */