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
x86
svq1enc_init.c
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2007 Loren Merritt
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#include "
config.h
"
22
#include "
libavutil/attributes.h
"
23
#include "
libavutil/cpu.h
"
24
#include "
libavutil/x86/cpu.h
"
25
#include "
libavcodec/svq1enc.h
"
26
27
int
ff_ssd_int8_vs_int16_mmx
(
const
int8_t *pix1,
const
int16_t *pix2,
28
intptr_t
size
);
29
int
ff_ssd_int8_vs_int16_sse2
(
const
int8_t *pix1,
const
int16_t *pix2,
30
intptr_t
size
);
31
32
av_cold
void
ff_svq1enc_init_x86
(
SVQ1EncContext
*
c
)
33
{
34
int
cpu_flags
=
av_get_cpu_flags
();
35
36
if
(
EXTERNAL_MMX
(cpu_flags)) {
37
c->
ssd_int8_vs_int16
=
ff_ssd_int8_vs_int16_mmx
;
38
}
39
if
(
EXTERNAL_SSE2
(cpu_flags)) {
40
c->
ssd_int8_vs_int16
=
ff_ssd_int8_vs_int16_sse2
;
41
}
42
}
EXTERNAL_MMX
#define EXTERNAL_MMX(flags)
Definition:
cpu.h:56
cpu_flags
static atomic_int cpu_flags
Definition:
cpu.c:48
ff_ssd_int8_vs_int16_mmx
int ff_ssd_int8_vs_int16_mmx(const int8_t *pix1, const int16_t *pix2, intptr_t size)
cpu.h
attributes.h
Macro definitions for various function/variable attributes.
ff_svq1enc_init_x86
av_cold void ff_svq1enc_init_x86(SVQ1EncContext *c)
Definition:
svq1enc_init.c:32
svq1enc.h
config.h
av_cold
#define av_cold
Definition:
attributes.h:82
size
ptrdiff_t size
Definition:
opengl_enc.c:101
EXTERNAL_SSE2
#define EXTERNAL_SSE2(flags)
Definition:
cpu.h:59
ff_ssd_int8_vs_int16_sse2
int ff_ssd_int8_vs_int16_sse2(const int8_t *pix1, const int16_t *pix2, intptr_t size)
SVQ1EncContext::ssd_int8_vs_int16
int(* ssd_int8_vs_int16)(const int8_t *pix1, const int16_t *pix2, intptr_t size)
Definition:
svq1enc.h:78
cpu.h
av_get_cpu_flags
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
Definition:
cpu.c:89
c
static double c[64]
Definition:
vsrc_mptestsrc.c:87
SVQ1EncContext
Definition:
svq1enc.h:34
Generated on Fri Jan 12 2018 01:45:49 for FFmpeg by
1.8.6