annotate ppc/mpegvideo_ppc.c @ 5749:784dcbdc910f libavcodec

cosmetics: Fix AltiVec spelling.
author diego
date Tue, 02 Oct 2007 10:34:57 +0000
parents f4b916b6f5c5
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:
diff changeset
1 /*
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
2 * Copyright (c) 2002 Dieter Shirley
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
3 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
4 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
5 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
6 * 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:
diff changeset
7 * 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:
diff changeset
8 * 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: 3036
diff changeset
9 * 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:
diff changeset
10 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
11 * 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:
diff changeset
12 * 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:
diff changeset
13 * 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:
diff changeset
14 * Lesser General Public License for more details.
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
15 *
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
16 * 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: 3036
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
3036
0b546eab515d Update licensing information: The FSF changed postal address.
diego
parents: 2967
diff changeset
18 * 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:
diff changeset
19 */
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2778
diff changeset
20
5010
d5ba514e3f4a Add libavcodec to compiler include flags in order to simplify header
diego
parents: 3973
diff changeset
21 #include "dsputil.h"
d5ba514e3f4a Add libavcodec to compiler include flags in order to simplify header
diego
parents: 3973
diff changeset
22 #include "mpegvideo.h"
974
5c4cefa5d068 removed redundant includes
bellard
parents: 828
diff changeset
23 #include <time.h>
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
24 #include "dsputil_altivec.h"
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
25
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2778
diff changeset
26 extern int dct_quantize_altivec(MpegEncContext *s,
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
27 DCTELEM *block, int n,
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
28 int qscale, int *overflow);
1001
95cbffdc98a9 dct_unquantize_h263_altivec by (Romain Dolbeau <dolbeaur at club-internet dot fr>)
michaelni
parents: 974
diff changeset
29 extern void dct_unquantize_h263_altivec(MpegEncContext *s,
95cbffdc98a9 dct_unquantize_h263_altivec by (Romain Dolbeau <dolbeaur at club-internet dot fr>)
michaelni
parents: 974
diff changeset
30 DCTELEM *block, int n, int qscale);
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
31
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 1009
diff changeset
32 extern void idct_put_altivec(uint8_t *dest, int line_size, int16_t *block);
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 1009
diff changeset
33 extern void idct_add_altivec(uint8_t *dest, int line_size, int16_t *block);
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
34
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
35
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
36 void MPV_common_init_ppc(MpegEncContext *s)
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
37 {
5748
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
38 if (s->avctx->lowres==0)
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
39 {
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
40 if ((s->avctx->idct_algo == FF_IDCT_AUTO) ||
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
41 (s->avctx->idct_algo == FF_IDCT_ALTIVEC))
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
42 {
1107
28f0e53706a7 altivec compilation fixes by (Magnus Damm <damm at opensource dot se>)
michaelni
parents: 1064
diff changeset
43 s->dsp.idct_put = idct_put_altivec;
28f0e53706a7 altivec compilation fixes by (Magnus Damm <damm at opensource dot se>)
michaelni
parents: 1064
diff changeset
44 s->dsp.idct_add = idct_add_altivec;
28f0e53706a7 altivec compilation fixes by (Magnus Damm <damm at opensource dot se>)
michaelni
parents: 1064
diff changeset
45 s->dsp.idct_permutation_type = FF_TRANSPOSE_IDCT_PERM;
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
46 }
5748
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
47 }
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
48
5748
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
49 // Test to make sure that the dct required alignments are met.
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
50 if ((((long)(s->q_intra_matrix) & 0x0f) != 0) ||
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
51 (((long)(s->q_inter_matrix) & 0x0f) != 0))
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
52 {
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
53 av_log(s->avctx, AV_LOG_INFO, "Internal Error: q-matrix blocks must be 16-byte aligned "
5749
784dcbdc910f cosmetics: Fix AltiVec spelling.
diego
parents: 5748
diff changeset
54 "to use AltiVec DCT. Reverting to non-AltiVec version.\n");
5748
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
55 return;
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
56 }
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
57
5748
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
58 if (((long)(s->intra_scantable.inverse) & 0x0f) != 0)
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
59 {
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
60 av_log(s->avctx, AV_LOG_INFO, "Internal Error: scan table blocks must be 16-byte aligned "
5749
784dcbdc910f cosmetics: Fix AltiVec spelling.
diego
parents: 5748
diff changeset
61 "to use AltiVec DCT. Reverting to non-AltiVec version.\n");
5748
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
62 return;
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
63 }
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
64
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
65
5748
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
66 if ((s->avctx->dct_algo == FF_DCT_AUTO) ||
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
67 (s->avctx->dct_algo == FF_DCT_ALTIVEC))
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
68 {
1942
9241d99f7443 forgotten copyright & dct_quantize_altivec disabled patch by (Romain Dolbeau <dolbeau at irisa dot fr>)
michael
parents: 1828
diff changeset
69 #if 0 /* seems to cause trouble under some circumstances */
5748
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
70 s->dct_quantize = dct_quantize_altivec;
1942
9241d99f7443 forgotten copyright & dct_quantize_altivec disabled patch by (Romain Dolbeau <dolbeau at irisa dot fr>)
michael
parents: 1828
diff changeset
71 #endif
5748
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
72 s->dct_unquantize_h263_intra = dct_unquantize_h263_altivec;
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
73 s->dct_unquantize_h263_inter = dct_unquantize_h263_altivec;
f4b916b6f5c5 cosmetics: Fix indentation after last commit.
diego
parents: 5747
diff changeset
74 }
828
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
75 }
ace3ccd18dd2 Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
michaelni
parents:
diff changeset
76