annotate arm/dsputil_init_armv6.c @ 10483:afad312b9989 libavcodec

Implement AMR gain function that is used by both AMR and SIPR. Based on AMR SoC code by Robert Swain and Colin McQuillan.
author vitor
date Sat, 31 Oct 2009 02:02:30 +0000
parents e55d957ef1a2
children 0f845e20982a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7060
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
1 /*
10359
48be79afc72d ARM: clean up dsputil initialisation
mru
parents: 8590
diff changeset
2 * Copyright (c) 2009 Mans Rullgard <mans@mansr.com>
7060
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
3 *
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
4 * This file is part of FFmpeg.
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
5 *
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
6 * FFmpeg is free software; you can redistribute it and/or
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
8 * License as published by the Free Software Foundation; either
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
9 * version 2.1 of the License, or (at your option) any later version.
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
10 *
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
11 * FFmpeg is distributed in the hope that it will be useful,
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
14 * Lesser General Public License for more details.
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
15 *
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
19 */
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
20
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
21 #include "libavcodec/dsputil.h"
10359
48be79afc72d ARM: clean up dsputil initialisation
mru
parents: 8590
diff changeset
22 #include "dsputil_arm.h"
7060
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
23
10359
48be79afc72d ARM: clean up dsputil initialisation
mru
parents: 8590
diff changeset
24 void ff_simple_idct_armv6(DCTELEM *data);
48be79afc72d ARM: clean up dsputil initialisation
mru
parents: 8590
diff changeset
25 void ff_simple_idct_put_armv6(uint8_t *dest, int line_size, DCTELEM *data);
48be79afc72d ARM: clean up dsputil initialisation
mru
parents: 8590
diff changeset
26 void ff_simple_idct_add_armv6(uint8_t *dest, int line_size, DCTELEM *data);
7060
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
27
10372
e55d957ef1a2 ARM: ARMv6 optimised add_pixels_clamped()
mru
parents: 10362
diff changeset
28 void ff_add_pixels_clamped_armv6(const DCTELEM *block,
e55d957ef1a2 ARM: ARMv6 optimised add_pixels_clamped()
mru
parents: 10362
diff changeset
29 uint8_t *restrict pixels,
e55d957ef1a2 ARM: ARMv6 optimised add_pixels_clamped()
mru
parents: 10362
diff changeset
30 int line_size);
e55d957ef1a2 ARM: ARMv6 optimised add_pixels_clamped()
mru
parents: 10362
diff changeset
31
10359
48be79afc72d ARM: clean up dsputil initialisation
mru
parents: 8590
diff changeset
32 void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx)
7060
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
33 {
10359
48be79afc72d ARM: clean up dsputil initialisation
mru
parents: 8590
diff changeset
34 if (!avctx->lowres && (avctx->idct_algo == FF_IDCT_AUTO ||
48be79afc72d ARM: clean up dsputil initialisation
mru
parents: 8590
diff changeset
35 avctx->idct_algo == FF_IDCT_SIMPLEARMV6)) {
10362
838b42ccd65e ARM: cosmetics
mru
parents: 10359
diff changeset
36 c->idct_put = ff_simple_idct_put_armv6;
838b42ccd65e ARM: cosmetics
mru
parents: 10359
diff changeset
37 c->idct_add = ff_simple_idct_add_armv6;
838b42ccd65e ARM: cosmetics
mru
parents: 10359
diff changeset
38 c->idct = ff_simple_idct_armv6;
838b42ccd65e ARM: cosmetics
mru
parents: 10359
diff changeset
39 c->idct_permutation_type = FF_LIBMPEG2_IDCT_PERM;
10359
48be79afc72d ARM: clean up dsputil initialisation
mru
parents: 8590
diff changeset
40 }
10372
e55d957ef1a2 ARM: ARMv6 optimised add_pixels_clamped()
mru
parents: 10362
diff changeset
41
e55d957ef1a2 ARM: ARMv6 optimised add_pixels_clamped()
mru
parents: 10362
diff changeset
42 c->add_pixels_clamped = ff_add_pixels_clamped_armv6;
7060
9e5b6bf87f76 convert DOS-style carriage return to Unix-style
gpoirier
parents: 6786
diff changeset
43 }