| 
																	
																	
																		
																	
																	
																 | 
																@@ -612,14 +612,14 @@ static void add_bytes_altivec(uint8_t *dst, uint8_t *src, int w) | 
															
														
														
													
														
															
																 | 
																 | 
																    register vector unsigned char vdst, vsrc; | 
																 | 
																 | 
																    register vector unsigned char vdst, vsrc; | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																    /* dst and src are 16 bytes-aligned (guaranteed). */ | 
																 | 
																 | 
																    /* dst and src are 16 bytes-aligned (guaranteed). */ | 
															
														
														
													
														
															
																 | 
																 | 
																    for (i = 0; (i + 15) < w; i += 16) { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    for (i = 0; i + 15 < w; i += 16) { | 
															
														
														
													
														
															
																 | 
																 | 
																        vdst = vec_ld(i, (unsigned char *) dst); | 
																 | 
																 | 
																        vdst = vec_ld(i, (unsigned char *) dst); | 
															
														
														
													
														
															
																 | 
																 | 
																        vsrc = vec_ld(i, (unsigned char *) src); | 
																 | 
																 | 
																        vsrc = vec_ld(i, (unsigned char *) src); | 
															
														
														
													
														
															
																 | 
																 | 
																        vdst = vec_add(vsrc, vdst); | 
																 | 
																 | 
																        vdst = vec_add(vsrc, vdst); | 
															
														
														
													
														
															
																 | 
																 | 
																        vec_st(vdst, i, (unsigned char *) dst); | 
																 | 
																 | 
																        vec_st(vdst, i, (unsigned char *) dst); | 
															
														
														
													
														
															
																 | 
																 | 
																    } | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																    /* If w is not a multiple of 16. */ | 
																 | 
																 | 
																    /* If w is not a multiple of 16. */ | 
															
														
														
													
														
															
																 | 
																 | 
																    for (; (i < w); i++) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    for (; i < w; i++) | 
															
														
														
													
														
															
																 | 
																 | 
																        dst[i] = src[i]; | 
																 | 
																 | 
																        dst[i] = src[i]; | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -658,10 +658,10 @@ static int hadamard8_diff8x8_altivec(/* MpegEncContext */ void *s, uint8_t *dst, | 
															
														
														
													
														
															
																 | 
																 | 
																        register vector signed short srcV, dstV;                            \ | 
																 | 
																 | 
																        register vector signed short srcV, dstV;                            \ | 
															
														
														
													
														
															
																 | 
																 | 
																        register vector signed short but0, but1, but2, op1, op2, op3;       \ | 
																 | 
																 | 
																        register vector signed short but0, but1, but2, op1, op2, op3;       \ | 
															
														
														
													
														
															
																 | 
																 | 
																        src1 = vec_ld(stride * i, src);                                     \ | 
																 | 
																 | 
																        src1 = vec_ld(stride * i, src);                                     \ | 
															
														
														
													
														
															
																 | 
																 | 
																        src2 = vec_ld((stride * i) + 15, src);                              \ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        src2 = vec_ld(stride * i + 15, src);                                \ | 
															
														
														
													
														
															
																 | 
																 | 
																        srcO = vec_perm(src1, src2, vec_lvsl(stride * i, src));             \ | 
																 | 
																 | 
																        srcO = vec_perm(src1, src2, vec_lvsl(stride * i, src));             \ | 
															
														
														
													
														
															
																 | 
																 | 
																        dst1 = vec_ld(stride * i, dst);                                     \ | 
																 | 
																 | 
																        dst1 = vec_ld(stride * i, dst);                                     \ | 
															
														
														
													
														
															
																 | 
																 | 
																        dst2 = vec_ld((stride * i) + 15, dst);                              \ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        dst2 = vec_ld(stride * i + 15, dst);                                \ | 
															
														
														
													
														
															
																 | 
																 | 
																        dstO = vec_perm(dst1, dst2, vec_lvsl(stride * i, dst));             \ | 
																 | 
																 | 
																        dstO = vec_perm(dst1, dst2, vec_lvsl(stride * i, dst));             \ | 
															
														
														
													
														
															
																 | 
																 | 
																        /* Promote the unsigned chars to signed shorts. */                  \ | 
																 | 
																 | 
																        /* Promote the unsigned chars to signed shorts. */                  \ | 
															
														
														
													
														
															
																 | 
																 | 
																        /* We're in the 8x8 function, we only care for the first 8. */      \ | 
																 | 
																 | 
																        /* We're in the 8x8 function, we only care for the first 8. */      \ | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -828,10 +828,10 @@ static int hadamard8_diff16x8_altivec(/* MpegEncContext */ void *s, uint8_t *dst | 
															
														
														
													
														
															
																 | 
																 | 
																            op3S  __asm__ ("v30");                                          \ | 
																 | 
																 | 
																            op3S  __asm__ ("v30");                                          \ | 
															
														
														
													
														
															
																 | 
																 | 
																                                                                            \ | 
																 | 
																 | 
																                                                                            \ | 
															
														
														
													
														
															
																 | 
																 | 
																        src1 = vec_ld(stride * i, src);                                     \ | 
																 | 
																 | 
																        src1 = vec_ld(stride * i, src);                                     \ | 
															
														
														
													
														
															
																 | 
																 | 
																        src2 = vec_ld((stride * i) + 16, src);                              \ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        src2 = vec_ld(stride * i + 16, src);                                \ | 
															
														
														
													
														
															
																 | 
																 | 
																        srcO = vec_perm(src1, src2, vec_lvsl(stride * i, src));             \ | 
																 | 
																 | 
																        srcO = vec_perm(src1, src2, vec_lvsl(stride * i, src));             \ | 
															
														
														
													
														
															
																 | 
																 | 
																        dst1 = vec_ld(stride * i, dst);                                     \ | 
																 | 
																 | 
																        dst1 = vec_ld(stride * i, dst);                                     \ | 
															
														
														
													
														
															
																 | 
																 | 
																        dst2 = vec_ld((stride * i) + 16, dst);                              \ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        dst2 = vec_ld(stride * i + 16, dst);                                \ | 
															
														
														
													
														
															
																 | 
																 | 
																        dstO = vec_perm(dst1, dst2, vec_lvsl(stride * i, dst));             \ | 
																 | 
																 | 
																        dstO = vec_perm(dst1, dst2, vec_lvsl(stride * i, dst));             \ | 
															
														
														
													
														
															
																 | 
																 | 
																        /* Promote the unsigned chars to signed shorts. */                  \ | 
																 | 
																 | 
																        /* Promote the unsigned chars to signed shorts. */                  \ | 
															
														
														
													
														
															
																 | 
																 | 
																        srcV = (vector signed short) vec_mergeh((vector signed char) vzero, \ | 
																 | 
																 | 
																        srcV = (vector signed short) vec_mergeh((vector signed char) vzero, \ | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																	
																 | 
																
  |