Libav
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavcodec
arm
me_cmp_init_arm.c
Go to the documentation of this file.
1
/*
2
* This file is part of Libav.
3
*
4
* Libav 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
* Libav 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 Libav; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#include <stdint.h>
20
21
#include "libavutil/attributes.h"
22
#include "libavutil/cpu.h"
23
#include "
libavutil/arm/cpu.h
"
24
#include "libavcodec/avcodec.h"
25
#include "
libavcodec/me_cmp.h
"
26
#include "
libavcodec/mpegvideo.h
"
27
28
int
ff_pix_abs16_armv6
(
MpegEncContext
*s,
uint8_t
*blk1,
uint8_t
*blk2,
29
int
line_size,
int
h);
30
int
ff_pix_abs16_x2_armv6
(
MpegEncContext
*s,
uint8_t
*blk1,
uint8_t
*blk2,
31
int
line_size,
int
h);
32
int
ff_pix_abs16_y2_armv6
(
MpegEncContext
*s,
uint8_t
*blk1,
uint8_t
*blk2,
33
int
line_size,
int
h);
34
35
int
ff_pix_abs8_armv6
(
MpegEncContext
*s,
uint8_t
*blk1,
uint8_t
*blk2,
36
int
line_size,
int
h);
37
38
int
ff_sse16_armv6
(
MpegEncContext
*s,
uint8_t
*blk1,
uint8_t
*blk2,
39
int
line_size,
int
h);
40
41
av_cold
void
ff_me_cmp_init_arm
(
MECmpContext
*c,
AVCodecContext
*avctx)
42
{
43
int
cpu_flags =
av_get_cpu_flags
();
44
45
if
(
have_armv6
(cpu_flags)) {
46
c->
pix_abs
[0][0] =
ff_pix_abs16_armv6
;
47
c->
pix_abs
[0][1] =
ff_pix_abs16_x2_armv6
;
48
c->
pix_abs
[0][2] =
ff_pix_abs16_y2_armv6
;
49
50
c->
pix_abs
[1][0] =
ff_pix_abs8_armv6
;
51
52
c->
sad
[0] =
ff_pix_abs16_armv6
;
53
c->
sad
[1] =
ff_pix_abs8_armv6
;
54
55
c->
sse
[0] =
ff_sse16_armv6
;
56
}
57
}
cpu.h
have_armv6
#define have_armv6(flags)
Definition:
cpu.h:27
mpegvideo.h
mpegvideo header.
uint8_t
uint8_t
Definition:
audio_convert.c:194
ff_pix_abs16_x2_armv6
int ff_pix_abs16_x2_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h)
ff_sse16_armv6
int ff_sse16_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h)
av_get_cpu_flags
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
Definition:
cpu.c:47
ff_pix_abs16_y2_armv6
int ff_pix_abs16_y2_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h)
ff_pix_abs16_armv6
int ff_pix_abs16_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h)
MECmpContext::pix_abs
me_cmp_func pix_abs[2][4]
Definition:
me_cmp.h:61
me_cmp.h
av_cold
#define av_cold
Definition:
attributes.h:66
AVCodecContext
main external API structure.
Definition:
avcodec.h:1050
ff_me_cmp_init_arm
av_cold void ff_me_cmp_init_arm(MECmpContext *c, AVCodecContext *avctx)
Definition:
me_cmp_init_arm.c:41
MECmpContext::sad
me_cmp_func sad[6]
Definition:
me_cmp.h:41
MECmpContext::sse
me_cmp_func sse[6]
Definition:
me_cmp.h:42
MpegEncContext
MpegEncContext.
Definition:
mpegvideo.h:204
ff_pix_abs8_armv6
int ff_pix_abs8_armv6(MpegEncContext *s, uint8_t *blk1, uint8_t *blk2, int line_size, int h)
MECmpContext
Definition:
me_cmp.h:38
Generated on Tue Aug 4 2015 15:09:21 for Libav by
1.8.9.1