| 
																	
																	
																		
																	
																	
																 | 
																@@ -31,6 +31,30 @@ int32_t ff_scalarproduct_and_madd_int16_ssse3(int16_t *v1, const int16_t *v2, | 
															
														
														
													
														
															
																 | 
																 | 
																                                              const int16_t *v3, | 
																 | 
																 | 
																                                              const int16_t *v3, | 
															
														
														
													
														
															
																 | 
																 | 
																                                              int order, int mul); | 
																 | 
																 | 
																                                              int order, int mul); | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																static int32_t scalarproduct_and_madd_int16_sse2(int16_t *v1, const int16_t *v2, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                                                 const int16_t *v3, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                                                 int order, int mul) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#if HAVE_SSE2_EXTERNAL | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if (order & 8) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        return ff_scalarproduct_and_madd_int16_mmxext(v1, v2, v3, order, mul); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    else | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        return ff_scalarproduct_and_madd_int16_sse2(v1, v2, v3, order, mul); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																static int32_t scalarproduct_and_madd_int16_ssse3(int16_t *v1, const int16_t *v2, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                                                  const int16_t *v3, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                                                  int order, int mul) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#if HAVE_SSSE3_EXTERNAL | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if (order & 8) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        return ff_scalarproduct_and_madd_int16_mmxext(v1, v2, v3, order, mul); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    else | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        return ff_scalarproduct_and_madd_int16_ssse3(v1, v2, v3, order, mul); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																av_cold void ff_llauddsp_init_x86(LLAudDSPContext *c) | 
																 | 
																 | 
																av_cold void ff_llauddsp_init_x86(LLAudDSPContext *c) | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																    int cpu_flags = av_get_cpu_flags(); | 
																 | 
																 | 
																    int cpu_flags = av_get_cpu_flags(); | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																	
																 | 
																@@ -39,9 +63,9 @@ av_cold void ff_llauddsp_init_x86(LLAudDSPContext *c) | 
															
														
														
													
														
															
																 | 
																 | 
																        c->scalarproduct_and_madd_int16 = ff_scalarproduct_and_madd_int16_mmxext; | 
																 | 
																 | 
																        c->scalarproduct_and_madd_int16 = ff_scalarproduct_and_madd_int16_mmxext; | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																    if (EXTERNAL_SSE2(cpu_flags)) | 
																 | 
																 | 
																    if (EXTERNAL_SSE2(cpu_flags)) | 
															
														
														
													
														
															
																 | 
																 | 
																        c->scalarproduct_and_madd_int16 = ff_scalarproduct_and_madd_int16_sse2; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        c->scalarproduct_and_madd_int16 = scalarproduct_and_madd_int16_sse2; | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																    if (EXTERNAL_SSSE3(cpu_flags) && | 
																 | 
																 | 
																    if (EXTERNAL_SSSE3(cpu_flags) && | 
															
														
														
													
														
															
																 | 
																 | 
																        !(cpu_flags & (AV_CPU_FLAG_SSE42 | AV_CPU_FLAG_3DNOW))) // cachesplit | 
																 | 
																 | 
																        !(cpu_flags & (AV_CPU_FLAG_SSE42 | AV_CPU_FLAG_3DNOW))) // cachesplit | 
															
														
														
													
														
															
																 | 
																 | 
																        c->scalarproduct_and_madd_int16 = ff_scalarproduct_and_madd_int16_ssse3; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        c->scalarproduct_and_madd_int16 = scalarproduct_and_madd_int16_ssse3; | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} |