annotate ppc/dsputil_altivec.h @ 11387:c7ed26e2011f libavcodec

Add support for non-backwards compatible signaled parametric stereo. This is done without breaking W6132 Annex YYYY draft MP3onMP4 which also uses AOT 29. Samples: http://samples.mplayerhq.hu/A-codecs/AAC/aacPlusDecoderCheckPackage_v2.1/bitstreams/File7.3gp http://samples.mplayerhq.hu/MPEG-4/mp3on4/id5_1.mp4
author alexc
date Sun, 07 Mar 2010 17:55:23 +0000
parents 50415a8f1451
children 06abedae2906
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
1 /*
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
2 * Copyright (c) 2002 Brian Foley
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
3 * Copyright (c) 2002 Dieter Shirley
1949
66215baae7b9 hadamard8_diff8x8 in AltiVec, the 16bits edition by (Romain Dolbeau <dolbeau at irisa dot fr>)
michael
parents: 1708
diff changeset
4 * Copyright (c) 2003-2004 Romain Dolbeau <romain@dolbeau.org>
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
5 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3945
diff changeset
6 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3945
diff changeset
7 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3945
diff changeset
8 * FFmpeg is free software; you can redistribute it and/or
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
9 * modify it under the terms of the GNU Lesser General Public
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
10 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3945
diff changeset
11 * version 2.1 of the License, or (at your option) any later version.
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
12 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3945
diff changeset
13 * FFmpeg is distributed in the hope that it will be useful,
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
16 * Lesser General Public License for more details.
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
17 *
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
18 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3945
diff changeset
19 * License along with FFmpeg; if not, write to the Free Software
3036
0b546eab515d Update licensing information: The FSF changed postal address.
diego
parents: 2057
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents: 638
diff changeset
21 */
878
6ea69518e5f7 altivec optimizations patch by (Brian Foley <bfoley at compsoc dot nuigalway dot ie>)
michaelni
parents: 828
diff changeset
22
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6105
diff changeset
23 #ifndef AVCODEC_PPC_DSPUTIL_ALTIVEC_H
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6105
diff changeset
24 #define AVCODEC_PPC_DSPUTIL_ALTIVEC_H
1015
35cf2f4a0f8c PPC perf, PPC clear_block, AltiVec put_pixels8_xy2 patch by (Romain Dolbeau <dolbeau at irisa dot fr>)
michaelni
parents: 1009
diff changeset
25
6078
3b73d2fbc9e4 Fix make checkheaders.
diego
parents: 5830
diff changeset
26 #include <stdint.h>
11382
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
27 #include "libavcodec/dsputil.h"
981
8bec850dc9c7 altivec patches by Romain Dolbeau
bellard
parents: 978
diff changeset
28
3945
9544ad38f02a fix a warning
lu_zero
parents: 3546
diff changeset
29 void put_pixels16_altivec(uint8_t *block, const uint8_t *pixels, int line_size, int h);
9544ad38f02a fix a warning
lu_zero
parents: 3546
diff changeset
30
9544ad38f02a fix a warning
lu_zero
parents: 3546
diff changeset
31 void avg_pixels16_altivec(uint8_t *block, const uint8_t *pixels, int line_size, int h);
9544ad38f02a fix a warning
lu_zero
parents: 3546
diff changeset
32
11382
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
33 int has_altivec(void);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
34
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
35 void fdct_altivec(int16_t *block);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
36 void gmc1_altivec(uint8_t *dst, uint8_t *src, int stride, int h,
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
37 int x16, int y16, int rounder);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
38 void idct_put_altivec(uint8_t *dest, int line_size, int16_t *block);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
39 void idct_add_altivec(uint8_t *dest, int line_size, int16_t *block);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
40
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
41 void ff_vp3_idct_altivec(DCTELEM *block);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
42 void ff_vp3_idct_put_altivec(uint8_t *dest, int line_size, DCTELEM *block);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
43 void ff_vp3_idct_add_altivec(uint8_t *dest, int line_size, DCTELEM *block);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
44
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
45 void dsputil_h264_init_ppc(DSPContext* c, AVCodecContext *avctx);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
46
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
47 void dsputil_init_altivec(DSPContext* c, AVCodecContext *avctx);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
48 void vc1dsp_init_altivec(DSPContext* c, AVCodecContext *avctx);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
49 void float_init_altivec(DSPContext* c, AVCodecContext *avctx);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
50 void int_init_altivec(DSPContext* c, AVCodecContext *avctx);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
51
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6105
diff changeset
52 #endif /* AVCODEC_PPC_DSPUTIL_ALTIVEC_H */