blob: 6f18df9e5f3f8e9d8f9f2a13c14e019d79761102 [file] [log] [blame]
Diego Biurrun6a443042013-02-07 20:25:551/*
Michael Niedermayer0af07492013-02-09 12:40:032 * This file is part of FFmpeg.
Diego Biurrun6a443042013-02-07 20:25:553 *
Michael Niedermayer0af07492013-02-09 12:40:034 * FFmpeg is free software; you can redistribute it and/or
Diego Biurrun6a443042013-02-07 20:25:555 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
Michael Niedermayer0af07492013-02-09 12:40:039 * FFmpeg is distributed in the hope that it will be useful,
Diego Biurrun6a443042013-02-07 20:25:5510 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
Michael Niedermayer0af07492013-02-09 12:40:0315 * License along with FFmpeg; if not, write to the Free Software
Diego Biurrun6a443042013-02-07 20:25:5516 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19#ifndef AVCODEC_H264IDCT_H
20#define AVCODEC_H264IDCT_H
21
22#include <stdint.h>
23
24#define H264_IDCT(depth) \
25void ff_h264_idct8_add_ ## depth ## _c(uint8_t *dst, int16_t *block, int stride);\
26void ff_h264_idct_add_ ## depth ## _c(uint8_t *dst, int16_t *block, int stride);\
27void ff_h264_idct8_dc_add_ ## depth ## _c(uint8_t *dst, int16_t *block, int stride);\
28void ff_h264_idct_dc_add_ ## depth ## _c(uint8_t *dst, int16_t *block, int stride);\
Andreas Rheinhardtafc95a12021-08-06 18:35:2829void ff_h264_idct_add16_ ## depth ## _c(uint8_t *dst, const int *blockoffset, int16_t *block, int stride, const uint8_t nnzc[5 * 8]);\
30void ff_h264_idct_add16intra_ ## depth ## _c(uint8_t *dst, const int *blockoffset, int16_t *block, int stride, const uint8_t nnzc[5 * 8]);\
31void ff_h264_idct8_add4_ ## depth ## _c(uint8_t *dst, const int *blockoffset, int16_t *block, int stride, const uint8_t nnzc[5 * 8]);\
32void ff_h264_idct_add8_422_ ## depth ## _c(uint8_t **dest, const int *blockoffset, int16_t *block, int stride, const uint8_t nnzc[15 * 8]);\
33void ff_h264_idct_add8_ ## depth ## _c(uint8_t **dest, const int *blockoffset, int16_t *block, int stride, const uint8_t nnzc[15 * 8]);\
Diego Biurrun6a443042013-02-07 20:25:5534void ff_h264_luma_dc_dequant_idct_ ## depth ## _c(int16_t *output, int16_t *input, int qmul);\
35void ff_h264_chroma422_dc_dequant_idct_ ## depth ## _c(int16_t *block, int qmul);\
36void ff_h264_chroma_dc_dequant_idct_ ## depth ## _c(int16_t *block, int qmul);
37
38H264_IDCT( 8)
39H264_IDCT( 9)
40H264_IDCT(10)
Michael Niedermayer0af07492013-02-09 12:40:0341H264_IDCT(12)
42H264_IDCT(14)
Diego Biurrun6a443042013-02-07 20:25:5543
44#endif /* AVCODEC_H264IDCT_H */