comparison ps2/mpegvideo_mmi.c @ 2967:ef2149182f1c libavcodec

COSMETICS: Remove all trailing whitespace.
author diego
date Sat, 17 Dec 2005 18:14:38 +0000
parents 72ac356803ea
children bfabfdf9ce55
comparison
equal deleted inserted replaced
2966:564788471dd4 2967:ef2149182f1c
15 * License along with this library; if not, write to the Free Software 15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 * 17 *
18 * MMI optimization by Leon van Stuivenberg 18 * MMI optimization by Leon van Stuivenberg
19 */ 19 */
20 20
21 #include "../dsputil.h" 21 #include "../dsputil.h"
22 #include "../mpegvideo.h" 22 #include "../mpegvideo.h"
23 #include "../avcodec.h" 23 #include "../avcodec.h"
24 24
25 static void dct_unquantize_h263_mmi(MpegEncContext *s, 25 static void dct_unquantize_h263_mmi(MpegEncContext *s,
26 DCTELEM *block, int n, int qscale) 26 DCTELEM *block, int n, int qscale)
27 { 27 {
28 int level=0, qmul, qadd; 28 int level=0, qmul, qadd;
29 int nCoeffs; 29 int nCoeffs;
30 30
31 assert(s->block_last_index[n]>=0); 31 assert(s->block_last_index[n]>=0);
32 32
33 qadd = (qscale - 1) | 1; 33 qadd = (qscale - 1) | 1;
34 qmul = qscale << 1; 34 qmul = qscale << 1;
35 35
36 if (s->mb_intra) { 36 if (s->mb_intra) {
37 if (!s->h263_aic) { 37 if (!s->h263_aic) {
38 if (n < 4) 38 if (n < 4)
39 level = block[0] * s->y_dc_scale; 39 level = block[0] * s->y_dc_scale;
40 else 40 else
41 level = block[0] * s->c_dc_scale; 41 level = block[0] * s->c_dc_scale;
42 }else { 42 }else {
43 qadd = 0; 43 qadd = 0;
44 level = block[0]; 44 level = block[0];
45 } 45 }
46 nCoeffs= 63; //does not allways use zigzag table 46 nCoeffs= 63; //does not allways use zigzag table
47 } else { 47 } else {
48 nCoeffs= s->intra_scantable.raster_end[ s->block_last_index[n] ]; 48 nCoeffs= s->intra_scantable.raster_end[ s->block_last_index[n] ];
49 } 49 }
50 50
51 asm volatile( 51 asm volatile(
52 "add $14, $0, %3 \n\t" 52 "add $14, $0, %3 \n\t"
53 "pcpyld $8, %0, %0 \n\t" 53 "pcpyld $8, %0, %0 \n\t"
54 "pcpyh $8, $8 \n\t" //r8 = qmul 54 "pcpyh $8, $8 \n\t" //r8 = qmul
55 "pcpyld $9, %1, %1 \n\t" 55 "pcpyld $9, %1, %1 \n\t"
56 "pcpyh $9, $9 \n\t" //r9 = qadd 56 "pcpyh $9, $9 \n\t" //r9 = qadd
57 ".p2align 2 \n\t" 57 ".p2align 2 \n\t"
58 "1: \n\t" 58 "1: \n\t"
59 "lq $10, 0($14) \n\t" //r10 = level 59 "lq $10, 0($14) \n\t" //r10 = level
60 "addi $14, $14, 16 \n\t" //block+=8 60 "addi $14, $14, 16 \n\t" //block+=8
61 "addi %2, %2, -8 \n\t" 61 "addi %2, %2, -8 \n\t"
62 "pcgth $11, $0, $10 \n\t" //r11 = level < 0 ? -1 : 0 62 "pcgth $11, $0, $10 \n\t" //r11 = level < 0 ? -1 : 0
63 "pcgth $12, $10, $0 \n\t" //r12 = level > 0 ? -1 : 0 63 "pcgth $12, $10, $0 \n\t" //r12 = level > 0 ? -1 : 0
64 "por $12, $11, $12 \n\t" 64 "por $12, $11, $12 \n\t"
65 "pmulth $10, $10, $8 \n\t" 65 "pmulth $10, $10, $8 \n\t"
66 "paddh $13, $9, $11 \n\t" 66 "paddh $13, $9, $11 \n\t"
67 "pxor $13, $13, $11 \n\t" //r13 = level < 0 ? -qadd : qadd 67 "pxor $13, $13, $11 \n\t" //r13 = level < 0 ? -qadd : qadd
68 "pmfhl.uw $11 \n\t" 68 "pmfhl.uw $11 \n\t"
69 "pinteh $10, $11, $10 \n\t" //r10 = level * qmul 69 "pinteh $10, $11, $10 \n\t" //r10 = level * qmul
70 "paddh $10, $10, $13 \n\t" 70 "paddh $10, $10, $13 \n\t"
78 } 78 }
79 79
80 80
81 void MPV_common_init_mmi(MpegEncContext *s) 81 void MPV_common_init_mmi(MpegEncContext *s)
82 { 82 {
83 s->dct_unquantize_h263_intra = 83 s->dct_unquantize_h263_intra =
84 s->dct_unquantize_h263_inter = dct_unquantize_h263_mmi; 84 s->dct_unquantize_h263_inter = dct_unquantize_h263_mmi;
85 } 85 }
86 86
87 87