annotate ppc/dsputil_altivec.h @ 12530:63edd10ad4bc libavcodec tip

Try to fix crashes introduced by r25218 r25218 made assumptions about the existence of past reference frames that weren't necessarily true.
author darkshikari
date Tue, 28 Sep 2010 09:06:22 +0000
parents 06abedae2906
children
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 void fdct_altivec(int16_t *block);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
34 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
35 int x16, int y16, int rounder);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
36 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
37 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
38
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
39 void ff_vp3_idct_altivec(DCTELEM *block);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
40 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
41 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
42
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
43 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
44
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
45 void dsputil_init_altivec(DSPContext* c, AVCodecContext *avctx);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
46 void vc1dsp_init_altivec(DSPContext* c, AVCodecContext *avctx);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
47 void float_init_altivec(DSPContext* c, AVCodecContext *avctx);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
48 void int_init_altivec(DSPContext* c, AVCodecContext *avctx);
50415a8f1451 PPC: move prototypes to headers and make some functions static
mru
parents: 8250
diff changeset
49
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6105
diff changeset
50 #endif /* AVCODEC_PPC_DSPUTIL_ALTIVEC_H */