Introduce a TextureDSP module
[libav.git] / libavcodec / s3tc.h
CommitLineData
c67b89c5
IP
1/*
2 * S3 Texture Compression (S3TC) decoding functions
3 * Copyright (c) 2007 by Ivo van Poorten
4 *
2912e87a 5 * This file is part of Libav.
c67b89c5 6 *
2912e87a 7 * Libav is free software; you can redistribute it and/or
c67b89c5
IP
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
2912e87a 12 * Libav is distributed in the hope that it will be useful,
c67b89c5
IP
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
2912e87a 18 * License along with Libav; if not, write to the Free Software
c67b89c5 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
c67b89c5
IP
20 */
21
98790382
SS
22#ifndef AVCODEC_S3TC_H
23#define AVCODEC_S3TC_H
c67b89c5 24
99545457
MR
25#include <stdint.h>
26
ad4cec6b
DB
27#include "bytestream.h"
28
c67b89c5
IP
29#define FF_S3TC_DXT1 0x31545844
30#define FF_S3TC_DXT3 0x33545844
31
929baad0
IP
32/**
33 * Decode DXT1 encoded data to RGB32
919f3554 34 * @param gb GetByteContext
0138a8de 35 * @param dst destination buffer
929baad0
IP
36 * @param w width of output image
37 * @param h height of output image
38 * @param stride line size of output image
39 */
919f3554 40void ff_decode_dxt1(GetByteContext *gb, uint8_t *dst,
c67b89c5
IP
41 const unsigned int w, const unsigned int h,
42 const unsigned int stride);
929baad0
IP
43/**
44 * Decode DXT3 encoded data to RGB32
919f3554 45 * @param gb GetByteContext
0138a8de 46 * @param dst destination buffer
929baad0
IP
47 * @param w width of output image
48 * @param h height of output image
49 * @param stride line size of output image
50 */
919f3554 51void ff_decode_dxt3(GetByteContext *gb, uint8_t *dst,
c67b89c5
IP
52 const unsigned int w, const unsigned int h,
53 const unsigned int stride);
54
98790382 55#endif /* AVCODEC_S3TC_H */