new files for the CAVS decoder by (Stefan Gehrer <stefan gehrer gmx de)
[libav.git] / libavcodec / cavsdsp.h
CommitLineData
0abc2e73
MN
1/*
2 * Chinese AVS video (AVS1-P2, JiZhun profile) decoder.
3 * Copyright (c) 2006 Stefan Gehrer <stefan.gehrer@gmx.de>
4 *
5 * DSP function prototypes
6 *
7 * This library is free software; you can redistribute it and/or
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 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
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
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22void put_cavs_qpel16_mc00_c(uint8_t *dst, uint8_t *src, int stride);
23void put_cavs_qpel16_mc01_c(uint8_t *dst, uint8_t *src, int stride);
24void put_cavs_qpel16_mc02_c(uint8_t *dst, uint8_t *src, int stride);
25void put_cavs_qpel16_mc03_c(uint8_t *dst, uint8_t *src, int stride);
26void put_cavs_qpel16_mc10_c(uint8_t *dst, uint8_t *src, int stride);
27void put_cavs_qpel16_mc11_c(uint8_t *dst, uint8_t *src, int stride);
28void put_cavs_qpel16_mc12_c(uint8_t *dst, uint8_t *src, int stride);
29void put_cavs_qpel16_mc13_c(uint8_t *dst, uint8_t *src, int stride);
30void put_cavs_qpel16_mc20_c(uint8_t *dst, uint8_t *src, int stride);
31void put_cavs_qpel16_mc21_c(uint8_t *dst, uint8_t *src, int stride);
32void put_cavs_qpel16_mc22_c(uint8_t *dst, uint8_t *src, int stride);
33void put_cavs_qpel16_mc23_c(uint8_t *dst, uint8_t *src, int stride);
34void put_cavs_qpel16_mc30_c(uint8_t *dst, uint8_t *src, int stride);
35void put_cavs_qpel16_mc31_c(uint8_t *dst, uint8_t *src, int stride);
36void put_cavs_qpel16_mc32_c(uint8_t *dst, uint8_t *src, int stride);
37void put_cavs_qpel16_mc33_c(uint8_t *dst, uint8_t *src, int stride);
38void put_cavs_qpel8_mc00_c(uint8_t *dst, uint8_t *src, int stride);
39void put_cavs_qpel8_mc01_c(uint8_t *dst, uint8_t *src, int stride);
40void put_cavs_qpel8_mc02_c(uint8_t *dst, uint8_t *src, int stride);
41void put_cavs_qpel8_mc03_c(uint8_t *dst, uint8_t *src, int stride);
42void put_cavs_qpel8_mc10_c(uint8_t *dst, uint8_t *src, int stride);
43void put_cavs_qpel8_mc11_c(uint8_t *dst, uint8_t *src, int stride);
44void put_cavs_qpel8_mc12_c(uint8_t *dst, uint8_t *src, int stride);
45void put_cavs_qpel8_mc13_c(uint8_t *dst, uint8_t *src, int stride);
46void put_cavs_qpel8_mc20_c(uint8_t *dst, uint8_t *src, int stride);
47void put_cavs_qpel8_mc21_c(uint8_t *dst, uint8_t *src, int stride);
48void put_cavs_qpel8_mc22_c(uint8_t *dst, uint8_t *src, int stride);
49void put_cavs_qpel8_mc23_c(uint8_t *dst, uint8_t *src, int stride);
50void put_cavs_qpel8_mc30_c(uint8_t *dst, uint8_t *src, int stride);
51void put_cavs_qpel8_mc31_c(uint8_t *dst, uint8_t *src, int stride);
52void put_cavs_qpel8_mc32_c(uint8_t *dst, uint8_t *src, int stride);
53void put_cavs_qpel8_mc33_c(uint8_t *dst, uint8_t *src, int stride);
54void avg_cavs_qpel16_mc00_c(uint8_t *dst, uint8_t *src, int stride);
55void avg_cavs_qpel16_mc01_c(uint8_t *dst, uint8_t *src, int stride);
56void avg_cavs_qpel16_mc02_c(uint8_t *dst, uint8_t *src, int stride);
57void avg_cavs_qpel16_mc03_c(uint8_t *dst, uint8_t *src, int stride);
58void avg_cavs_qpel16_mc10_c(uint8_t *dst, uint8_t *src, int stride);
59void avg_cavs_qpel16_mc11_c(uint8_t *dst, uint8_t *src, int stride);
60void avg_cavs_qpel16_mc12_c(uint8_t *dst, uint8_t *src, int stride);
61void avg_cavs_qpel16_mc13_c(uint8_t *dst, uint8_t *src, int stride);
62void avg_cavs_qpel16_mc20_c(uint8_t *dst, uint8_t *src, int stride);
63void avg_cavs_qpel16_mc21_c(uint8_t *dst, uint8_t *src, int stride);
64void avg_cavs_qpel16_mc22_c(uint8_t *dst, uint8_t *src, int stride);
65void avg_cavs_qpel16_mc23_c(uint8_t *dst, uint8_t *src, int stride);
66void avg_cavs_qpel16_mc30_c(uint8_t *dst, uint8_t *src, int stride);
67void avg_cavs_qpel16_mc31_c(uint8_t *dst, uint8_t *src, int stride);
68void avg_cavs_qpel16_mc32_c(uint8_t *dst, uint8_t *src, int stride);
69void avg_cavs_qpel16_mc33_c(uint8_t *dst, uint8_t *src, int stride);
70void avg_cavs_qpel8_mc00_c(uint8_t *dst, uint8_t *src, int stride);
71void avg_cavs_qpel8_mc01_c(uint8_t *dst, uint8_t *src, int stride);
72void avg_cavs_qpel8_mc02_c(uint8_t *dst, uint8_t *src, int stride);
73void avg_cavs_qpel8_mc03_c(uint8_t *dst, uint8_t *src, int stride);
74void avg_cavs_qpel8_mc10_c(uint8_t *dst, uint8_t *src, int stride);
75void avg_cavs_qpel8_mc11_c(uint8_t *dst, uint8_t *src, int stride);
76void avg_cavs_qpel8_mc12_c(uint8_t *dst, uint8_t *src, int stride);
77void avg_cavs_qpel8_mc13_c(uint8_t *dst, uint8_t *src, int stride);
78void avg_cavs_qpel8_mc20_c(uint8_t *dst, uint8_t *src, int stride);
79void avg_cavs_qpel8_mc21_c(uint8_t *dst, uint8_t *src, int stride);
80void avg_cavs_qpel8_mc22_c(uint8_t *dst, uint8_t *src, int stride);
81void avg_cavs_qpel8_mc23_c(uint8_t *dst, uint8_t *src, int stride);
82void avg_cavs_qpel8_mc30_c(uint8_t *dst, uint8_t *src, int stride);
83void avg_cavs_qpel8_mc31_c(uint8_t *dst, uint8_t *src, int stride);
84void avg_cavs_qpel8_mc32_c(uint8_t *dst, uint8_t *src, int stride);
85void avg_cavs_qpel8_mc33_c(uint8_t *dst, uint8_t *src, int stride);
86void cavs_filter_lv_c(uint8_t *d, int stride, int alpha, int beta, int tc, int bs1, int bs2);
87void cavs_filter_lh_c(uint8_t *d, int stride, int alpha, int beta, int tc, int bs1, int bs2);
88void cavs_filter_cv_c(uint8_t *d, int stride, int alpha, int beta, int tc, int bs1, int bs2);
89void cavs_filter_ch_c(uint8_t *d, int stride, int alpha, int beta, int tc, int bs1, int bs2);
90void cavs_idct8_add_c(uint8_t *dst, DCTELEM *block, int stride);
91
92void put_pixels8_c(uint8_t *block, const uint8_t *pixels, int line_size, int h);
93void put_pixels16_c(uint8_t *block, const uint8_t *pixels, int line_size, int h);
94void avg_pixels8_c(uint8_t *block, const uint8_t *pixels, int line_size, int h);
95void avg_pixels16_c(uint8_t *block, const uint8_t *pixels, int line_size, int h);