FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
arm
hpeldsp_init_neon.c
Go to the documentation of this file.
1
/*
2
* ARM NEON optimised DSP functions
3
* Copyright (c) 2008 Mans Rullgard <mans@mansr.com>
4
*
5
* This file is part of FFmpeg.
6
*
7
* FFmpeg 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.1 of the License, or (at your option) any later version.
11
*
12
* FFmpeg 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 FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#include <stddef.h>
23
#include <stdint.h>
24
25
#include "
libavutil/attributes.h
"
26
#include "
hpeldsp_arm.h
"
27
28
void
ff_put_pixels16_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
29
void
ff_put_pixels16_x2_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
30
void
ff_put_pixels16_y2_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
31
void
ff_put_pixels16_xy2_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
32
void
ff_put_pixels8_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
33
void
ff_put_pixels8_x2_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
34
void
ff_put_pixels8_y2_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
35
void
ff_put_pixels8_xy2_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
36
void
ff_put_pixels16_x2_no_rnd_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
37
void
ff_put_pixels16_y2_no_rnd_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
38
void
ff_put_pixels16_xy2_no_rnd_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
39
void
ff_put_pixels8_x2_no_rnd_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
40
void
ff_put_pixels8_y2_no_rnd_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
41
void
ff_put_pixels8_xy2_no_rnd_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
42
43
void
ff_avg_pixels16_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
44
void
ff_avg_pixels16_x2_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
45
void
ff_avg_pixels16_y2_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
46
void
ff_avg_pixels16_xy2_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
47
void
ff_avg_pixels8_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
48
void
ff_avg_pixels8_x2_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
49
void
ff_avg_pixels8_y2_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
50
void
ff_avg_pixels8_xy2_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
51
void
ff_avg_pixels16_x2_no_rnd_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
52
void
ff_avg_pixels16_y2_no_rnd_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
53
void
ff_avg_pixels16_xy2_no_rnd_neon
(
uint8_t
*,
const
uint8_t
*, ptrdiff_t,
int
);
54
55
av_cold
void
ff_hpeldsp_init_neon
(
HpelDSPContext
*
c
,
int
flags
)
56
{
57
c->
put_pixels_tab
[0][0] =
ff_put_pixels16_neon
;
58
c->
put_pixels_tab
[0][1] =
ff_put_pixels16_x2_neon
;
59
c->
put_pixels_tab
[0][2] =
ff_put_pixels16_y2_neon
;
60
c->
put_pixels_tab
[0][3] =
ff_put_pixels16_xy2_neon
;
61
c->
put_pixels_tab
[1][0] =
ff_put_pixels8_neon
;
62
c->
put_pixels_tab
[1][1] =
ff_put_pixels8_x2_neon
;
63
c->
put_pixels_tab
[1][2] =
ff_put_pixels8_y2_neon
;
64
c->
put_pixels_tab
[1][3] =
ff_put_pixels8_xy2_neon
;
65
66
c->
put_no_rnd_pixels_tab
[0][0] =
ff_put_pixels16_neon
;
67
c->
put_no_rnd_pixels_tab
[0][1] =
ff_put_pixels16_x2_no_rnd_neon
;
68
c->
put_no_rnd_pixels_tab
[0][2] =
ff_put_pixels16_y2_no_rnd_neon
;
69
c->
put_no_rnd_pixels_tab
[0][3] =
ff_put_pixels16_xy2_no_rnd_neon
;
70
c->
put_no_rnd_pixels_tab
[1][0] =
ff_put_pixels8_neon
;
71
c->
put_no_rnd_pixels_tab
[1][1] =
ff_put_pixels8_x2_no_rnd_neon
;
72
c->
put_no_rnd_pixels_tab
[1][2] =
ff_put_pixels8_y2_no_rnd_neon
;
73
c->
put_no_rnd_pixels_tab
[1][3] =
ff_put_pixels8_xy2_no_rnd_neon
;
74
75
c->
avg_pixels_tab
[0][0] =
ff_avg_pixels16_neon
;
76
c->
avg_pixels_tab
[0][1] =
ff_avg_pixels16_x2_neon
;
77
c->
avg_pixels_tab
[0][2] =
ff_avg_pixels16_y2_neon
;
78
c->
avg_pixels_tab
[0][3] =
ff_avg_pixels16_xy2_neon
;
79
c->
avg_pixels_tab
[1][0] =
ff_avg_pixels8_neon
;
80
c->
avg_pixels_tab
[1][1] =
ff_avg_pixels8_x2_neon
;
81
c->
avg_pixels_tab
[1][2] =
ff_avg_pixels8_y2_neon
;
82
c->
avg_pixels_tab
[1][3] =
ff_avg_pixels8_xy2_neon
;
83
84
c->
avg_no_rnd_pixels_tab
[0] =
ff_avg_pixels16_neon
;
85
c->
avg_no_rnd_pixels_tab
[1] =
ff_avg_pixels16_x2_no_rnd_neon
;
86
c->
avg_no_rnd_pixels_tab
[2] =
ff_avg_pixels16_y2_no_rnd_neon
;
87
c->
avg_no_rnd_pixels_tab
[3] =
ff_avg_pixels16_xy2_no_rnd_neon
;
88
}
Generated on Sun Jul 20 2014 23:05:43 for FFmpeg by
1.8.2