Revision 1ee0cd1ad77ab96ca4573ea4b3937df7e138c8d5 authored by Kostya Shishkov on 07 March 2012, 19:07:17 UTC, committed by Janne Grunau on 14 March 2012, 22:32:15 UTC
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
1 parent b594732
Raw File
a64tables.h
/*
 * a64 video encoder - tables used by a64 encoders
 * Copyright (c) 2009 Tobias Bindhammer
 *
 * This file is part of Libav.
 *
 * Libav is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * Libav is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with Libav; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 */

/**
 * @file
 * a64 video encoder - tables used by a64 encoders
 */

#ifndef AVCODEC_A64TABLES_H
#define AVCODEC_A64TABLES_H

#include <stdint.h>

/**
 * dither patterns used vor rendering the multicolor charset
 */

static const uint8_t multi_dither_patterns[9][4][4] = {
    {
     {0, 0, 0, 0},
     {0, 0, 0, 0},
     {0, 0, 0, 0},
     {0, 0, 0, 0}
     },
    {
     {1, 0, 0, 0},
     {0, 0, 0, 0},
     {0, 0, 1, 0},
     {0, 0, 0, 0}
     },
    {
     {1, 0, 0, 0},
     {0, 0, 1, 0},
     {0, 1, 0, 0},
     {0, 0, 0, 1}
     },
    {
     {1, 0, 0, 0},
     {0, 1, 0, 1},
     {0, 0, 1, 0},
     {0, 1, 0, 1}
     },
    {
     {1, 0, 1, 0},
     {0, 1, 0, 1},
     {1, 0, 1, 0},
     {0, 1, 0, 1}
     },
    {
     {1, 1, 1, 0},
     {0, 1, 0, 1},
     {1, 0, 1, 1},
     {0, 1, 0, 1}
     },
    {
     {0, 1, 1, 1},
     {1, 1, 0, 1},
     {1, 0, 1, 1},
     {1, 1, 1, 0}
     },
    {
     {0, 1, 1, 1},
     {1, 1, 1, 1},
     {1, 1, 0, 1},
     {1, 1, 1, 1}
     },
    {
     {1, 1, 1, 1},
     {1, 1, 1, 1},
     {1, 1, 1, 1},
     {1, 1, 1, 1}
     },
};

static const uint8_t interlaced_dither_patterns[9][8][4] = {
    {
     {0, 0, 0, 0}, {0, 0, 0, 0},
     {0, 0, 0, 0}, {0, 0, 0, 0},
     {0, 0, 0, 0}, {0, 0, 0, 0},
     {0, 0, 0, 0}, {0, 0, 0, 0},
     },
    {
     {1, 0, 1, 0}, {0, 0, 0, 0},
     {0, 0, 0, 0}, {0, 0, 0, 0},
     {1, 0, 1, 0}, {0, 0, 0, 0},
     {0, 0, 0, 0}, {0, 0, 0, 0},
     },
    {
     {1, 0, 1, 0}, {0, 0, 0, 0},
     {0, 0, 0, 0}, {0, 1, 0, 1},
     {1, 0, 1, 0}, {0, 0, 0, 0},
     {0, 0, 0, 0}, {0, 1, 0, 1},
     },
    {
     {1, 0, 1, 0}, {0, 1, 0, 1},
     {0, 1, 0, 1}, {0, 0, 0, 0},
     {1, 0, 1, 0}, {0, 1, 0, 1},
     {0, 1, 0, 1}, {0, 0, 0, 0},
     },
    {
     {1, 0, 1, 0}, {0, 1, 0, 1},
     {0, 1, 0, 1}, {1, 0, 1, 0},
     {1, 0, 1, 0}, {0, 1, 0, 1},
     {0, 1, 0, 1}, {1, 0, 1, 0},
     },
    {
     {1, 0, 1, 0}, {0, 1, 0, 1},
     {1, 1, 1, 1}, {1, 0, 1, 0},
     {1, 0, 1, 0}, {0, 1, 0, 1},
     {1, 1, 1, 1}, {1, 0, 1, 0},
     },
    {
     {1, 0, 1, 0}, {1, 1, 1, 1},
     {1, 1, 1, 1}, {0, 1, 0, 1},
     {1, 0, 1, 0}, {1, 1, 1, 1},
     {1, 1, 1, 1}, {0, 1, 0, 1},
     },
    {
     {1, 1, 1, 1}, {1, 1, 1, 1},
     {1, 1, 1, 1}, {0, 1, 0, 1},
     {1, 1, 1, 1}, {1, 1, 1, 1},
     {1, 1, 1, 1}, {0, 1, 0, 1},
     },
    {
     {1, 1, 1, 1}, {1, 1, 1, 1},
     {1, 1, 1, 1}, {1, 1, 1, 1},
     {1, 1, 1, 1}, {1, 1, 1, 1},
     {1, 1, 1, 1}, {1, 1, 1, 1},
     }
};

#endif /* AVCODEC_A64TABLES_H */
back to top