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
lossless_audiodsp.c
Go to the documentation of this file.
1
/*
2
* Monkey's Audio lossless audio decoder
3
* Copyright (c) 2007 Benjamin Zores <ben@geexbox.org>
4
* based upon libdemac from Dave Chapman.
5
*
6
* This file is part of FFmpeg.
7
*
8
* FFmpeg is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* FFmpeg is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with FFmpeg; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
#include "
avcodec.h
"
24
#include "
lossless_audiodsp.h
"
25
26
static
int32_t
scalarproduct_and_madd_int16_c
(int16_t *v1,
const
int16_t *v2,
27
const
int16_t *v3,
28
int
order,
int
mul)
29
{
30
int
res = 0;
31
32
while
(order--) {
33
res += *v1 * *v2++;
34
*v1++ += mul * *v3++;
35
}
36
return
res;
37
}
38
39
av_cold
void
ff_llauddsp_init
(
LLAudDSPContext
*
c
)
40
{
41
c->
scalarproduct_and_madd_int16
=
scalarproduct_and_madd_int16_c
;
42
43
if
(ARCH_ARM)
44
ff_llauddsp_init_arm
(c);
45
if
(ARCH_PPC)
46
ff_llauddsp_init_ppc
(c);
47
if
(ARCH_X86)
48
ff_llauddsp_init_x86
(c);
49
}
ff_llauddsp_init_arm
av_cold void ff_llauddsp_init_arm(LLAudDSPContext *c)
Definition:
lossless_audiodsp_init_arm.c:31
av_cold
#define av_cold
Definition:
attributes.h:82
LLAudDSPContext
Definition:
lossless_audiodsp.h:28
lossless_audiodsp.h
scalarproduct_and_madd_int16_c
static int32_t scalarproduct_and_madd_int16_c(int16_t *v1, const int16_t *v2, const int16_t *v3, int order, int mul)
Definition:
lossless_audiodsp.c:26
int32_t
int32_t
Definition:
audio_convert.c:194
ff_llauddsp_init
av_cold void ff_llauddsp_init(LLAudDSPContext *c)
Definition:
lossless_audiodsp.c:39
avcodec.h
Libavcodec external API header.
LLAudDSPContext::scalarproduct_and_madd_int16
int32_t(* scalarproduct_and_madd_int16)(int16_t *v1, const int16_t *v2, const int16_t *v3, int len, int mul)
Calculate scalar product of v1 and v2, and v1[i] += v3[i] * mul.
Definition:
lossless_audiodsp.h:35
c
static double c[64]
Definition:
vsrc_mptestsrc.c:87
ff_llauddsp_init_ppc
void ff_llauddsp_init_ppc(LLAudDSPContext *c)
Definition:
lossless_audiodsp_altivec.c:85
ff_llauddsp_init_x86
void ff_llauddsp_init_x86(LLAudDSPContext *c)
Definition:
lossless_audiodsp_init.c:34
Generated on Mon Feb 15 2016 15:20:39 for FFmpeg by
1.8.6