FFmpeg
libavcodec
arm
vp8dsp.h
Go to the documentation of this file.
1
/*
2
* This file is part of FFmpeg.
3
*
4
* FFmpeg is free software; you can redistribute it and/or
5
* 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
*
9
* FFmpeg is distributed in the hope that it will be useful,
10
* 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
15
* License along with FFmpeg; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#ifndef AVCODEC_ARM_VP8DSP_H
20
#define AVCODEC_ARM_VP8DSP_H
21
22
#include "
libavcodec/vp8dsp.h
"
23
24
void
ff_vp78dsp_init_armv6
(
VP8DSPContext
*dsp);
25
void
ff_vp78dsp_init_neon
(
VP8DSPContext
*dsp);
26
void
ff_vp8dsp_init_armv6
(
VP8DSPContext
*dsp);
27
void
ff_vp8dsp_init_neon
(
VP8DSPContext
*dsp);
28
29
#define VP8_LF_Y(hv, inner, opt) \
30
void ff_vp8_##hv##_loop_filter16##inner##_##opt(uint8_t *dst, \
31
ptrdiff_t stride, \
32
int flim_E, int flim_I, \
33
int hev_thresh)
34
35
#define VP8_LF_UV(hv, inner, opt) \
36
void ff_vp8_##hv##_loop_filter8uv##inner##_##opt(uint8_t *dstU, \
37
uint8_t *dstV, \
38
ptrdiff_t stride, \
39
int flim_E, int flim_I, \
40
int hev_thresh)
41
42
#define VP8_LF_SIMPLE(hv, opt) \
43
void ff_vp8_##hv##_loop_filter16_simple_##opt(uint8_t *dst, \
44
ptrdiff_t stride, \
45
int flim)
46
47
#define VP8_LF_HV(inner, opt) \
48
VP8_LF_Y(h, inner, opt); \
49
VP8_LF_Y(v, inner, opt); \
50
VP8_LF_UV(h, inner, opt); \
51
VP8_LF_UV(v, inner, opt)
52
53
#define VP8_LF(opt) \
54
VP8_LF_HV(, opt); \
55
VP8_LF_HV(_inner, opt); \
56
VP8_LF_SIMPLE(h, opt); \
57
VP8_LF_SIMPLE(v, opt)
58
59
#define VP8_MC(n, opt) \
60
void ff_put_vp8_##n##_##opt(uint8_t *dst, ptrdiff_t dststride, \
61
uint8_t *src, ptrdiff_t srcstride, \
62
int h, int x, int y)
63
64
#define VP8_EPEL(w, opt) \
65
VP8_MC(pixels ## w, opt); \
66
VP8_MC(epel ## w ## _h4, opt); \
67
VP8_MC(epel ## w ## _h6, opt); \
68
VP8_MC(epel ## w ## _v4, opt); \
69
VP8_MC(epel ## w ## _h4v4, opt); \
70
VP8_MC(epel ## w ## _h6v4, opt); \
71
VP8_MC(epel ## w ## _v6, opt); \
72
VP8_MC(epel ## w ## _h4v6, opt); \
73
VP8_MC(epel ## w ## _h6v6, opt)
74
75
#define VP8_BILIN(w, opt) \
76
VP8_MC(bilin ## w ## _h, opt); \
77
VP8_MC(bilin ## w ## _v, opt); \
78
VP8_MC(bilin ## w ## _hv, opt)
79
80
#endif
/* AVCODEC_ARM_VP8DSP_H */
vp8dsp.h
ff_vp78dsp_init_armv6
void ff_vp78dsp_init_armv6(VP8DSPContext *dsp)
Definition:
vp8dsp_init_armv6.c:43
VP8DSPContext
Definition:
vp8dsp.h:37
ff_vp78dsp_init_neon
void ff_vp78dsp_init_neon(VP8DSPContext *dsp)
Definition:
vp8dsp_init_neon.c:42
ff_vp8dsp_init_neon
void ff_vp8dsp_init_neon(VP8DSPContext *dsp)
Definition:
vp8dsp_init_neon.c:98
ff_vp8dsp_init_armv6
void ff_vp8dsp_init_armv6(VP8DSPContext *dsp)
Definition:
vp8dsp_init_armv6.c:101
Generated on Wed Aug 24 2022 21:41:16 for FFmpeg by
1.8.17