mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	svolume: cleanups
Use PA_MAX Use pa_rtclock_now() for benchmarks
This commit is contained in:
		
							parent
							
								
									f09b51198f
								
							
						
					
					
						commit
						f8ffe0dabc
					
				
					 3 changed files with 26 additions and 26 deletions
				
			
		| 
						 | 
				
			
			@ -47,7 +47,7 @@ pa_volume_s16ne_arm (int16_t *samples, int32_t *volumes, unsigned channels, unsi
 | 
			
		|||
{
 | 
			
		||||
    int32_t *ve;
 | 
			
		||||
 | 
			
		||||
    channels = MAX (4, channels);
 | 
			
		||||
    channels = PA_MAX (4U, channels);
 | 
			
		||||
    ve = volumes + channels;
 | 
			
		||||
 | 
			
		||||
    __asm__ __volatile__ (
 | 
			
		||||
| 
						 | 
				
			
			@ -137,7 +137,7 @@ static void run_test (void) {
 | 
			
		|||
    int32_t volumes[CHANNELS + PADDING];
 | 
			
		||||
    int i, j, padding;
 | 
			
		||||
    pa_do_volume_func_t func;
 | 
			
		||||
    struct timeval start, stop;
 | 
			
		||||
    pa_usec_t start, stop;
 | 
			
		||||
 | 
			
		||||
    func = pa_get_volume_func (PA_SAMPLE_S16NE);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -161,21 +161,21 @@ static void run_test (void) {
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pa_gettimeofday(&start);
 | 
			
		||||
    start = pa_rtclock_now();
 | 
			
		||||
    for (j = 0; j < TIMES; j++) {
 | 
			
		||||
        memcpy (samples, samples_orig, sizeof (samples));
 | 
			
		||||
        pa_volume_s16ne_arm (samples, volumes, CHANNELS, sizeof (samples));
 | 
			
		||||
    }
 | 
			
		||||
    pa_gettimeofday(&stop);
 | 
			
		||||
    pa_log_info("ARM: %llu usec.", (long long unsigned int)pa_timeval_diff (&stop, &start));
 | 
			
		||||
    stop = pa_rtclock_now();
 | 
			
		||||
    pa_log_info("ARM: %llu usec.", (long long unsigned int) (stop - start));
 | 
			
		||||
 | 
			
		||||
    pa_gettimeofday(&start);
 | 
			
		||||
    start = pa_rtclock_now();
 | 
			
		||||
    for (j = 0; j < TIMES; j++) {
 | 
			
		||||
        memcpy (samples_ref, samples_orig, sizeof (samples));
 | 
			
		||||
        func (samples_ref, volumes, CHANNELS, sizeof (samples));
 | 
			
		||||
    }
 | 
			
		||||
    pa_gettimeofday(&stop);
 | 
			
		||||
    pa_log_info("ref: %llu usec.", (long long unsigned int)pa_timeval_diff (&stop, &start));
 | 
			
		||||
    stop = pa_rtclock_now();
 | 
			
		||||
    pa_log_info("ref: %llu usec.", (long long unsigned int) (stop - start));
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -100,7 +100,7 @@ pa_volume_s16ne_mmx (int16_t *samples, int32_t *volumes, unsigned channels, unsi
 | 
			
		|||
 | 
			
		||||
    /* the max number of samples we process at a time, this is also the max amount
 | 
			
		||||
     * we overread the volume array, which should have enough padding. */
 | 
			
		||||
    channels = MAX (4, channels);
 | 
			
		||||
    channels = PA_MAX (4U, channels);
 | 
			
		||||
 | 
			
		||||
    __asm__ __volatile__ (
 | 
			
		||||
        " xor %3, %3                    \n\t"
 | 
			
		||||
| 
						 | 
				
			
			@ -170,7 +170,7 @@ pa_volume_s16re_mmx (int16_t *samples, int32_t *volumes, unsigned channels, unsi
 | 
			
		|||
 | 
			
		||||
    /* the max number of samples we process at a time, this is also the max amount
 | 
			
		||||
     * we overread the volume array, which should have enough padding. */
 | 
			
		||||
    channels = MAX (4, channels);
 | 
			
		||||
    channels = PA_MAX (4U, channels);
 | 
			
		||||
 | 
			
		||||
    __asm__ __volatile__ (
 | 
			
		||||
        " xor %3, %3                    \n\t"
 | 
			
		||||
| 
						 | 
				
			
			@ -254,7 +254,7 @@ static void run_test (void) {
 | 
			
		|||
    int32_t volumes[CHANNELS + PADDING];
 | 
			
		||||
    int i, j, padding;
 | 
			
		||||
    pa_do_volume_func_t func;
 | 
			
		||||
    struct timeval start, stop;
 | 
			
		||||
    pa_usec_t start, stop;
 | 
			
		||||
 | 
			
		||||
    func = pa_get_volume_func (PA_SAMPLE_S16NE);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -278,21 +278,21 @@ static void run_test (void) {
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pa_gettimeofday(&start);
 | 
			
		||||
    start = pa_rtclock_now();
 | 
			
		||||
    for (j = 0; j < TIMES; j++) {
 | 
			
		||||
        memcpy (samples, samples_orig, sizeof (samples));
 | 
			
		||||
        pa_volume_s16ne_mmx (samples, volumes, CHANNELS, sizeof (samples));
 | 
			
		||||
    }
 | 
			
		||||
    pa_gettimeofday(&stop);
 | 
			
		||||
    pa_log_info("MMX: %llu usec.", (long long unsigned int)pa_timeval_diff (&stop, &start));
 | 
			
		||||
    stop = pa_rtclock_now();
 | 
			
		||||
    pa_log_info("MMX: %llu usec.", (long long unsigned int)(stop - start));
 | 
			
		||||
 | 
			
		||||
    pa_gettimeofday(&start);
 | 
			
		||||
    start = pa_rtclock_now();
 | 
			
		||||
    for (j = 0; j < TIMES; j++) {
 | 
			
		||||
        memcpy (samples_ref, samples_orig, sizeof (samples));
 | 
			
		||||
        func (samples_ref, volumes, CHANNELS, sizeof (samples));
 | 
			
		||||
    }
 | 
			
		||||
    pa_gettimeofday(&stop);
 | 
			
		||||
    pa_log_info("ref: %llu usec.", (long long unsigned int)pa_timeval_diff (&stop, &start));
 | 
			
		||||
    stop = pa_rtclock_now();
 | 
			
		||||
    pa_log_info("ref: %llu usec.", (long long unsigned int)(stop - start));
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -81,7 +81,7 @@ pa_volume_s16ne_sse (int16_t *samples, int32_t *volumes, unsigned channels, unsi
 | 
			
		|||
 | 
			
		||||
    /* the max number of samples we process at a time, this is also the max amount
 | 
			
		||||
     * we overread the volume array, which should have enough padding. */
 | 
			
		||||
    channels = MAX (8, channels);
 | 
			
		||||
    channels = PA_MAX (8U, channels);
 | 
			
		||||
 | 
			
		||||
    __asm__ __volatile__ (
 | 
			
		||||
        " xor %3, %3                    \n\t"
 | 
			
		||||
| 
						 | 
				
			
			@ -161,7 +161,7 @@ pa_volume_s16re_sse (int16_t *samples, int32_t *volumes, unsigned channels, unsi
 | 
			
		|||
 | 
			
		||||
    /* the max number of samples we process at a time, this is also the max amount
 | 
			
		||||
     * we overread the volume array, which should have enough padding. */
 | 
			
		||||
    channels = MAX (8, channels);
 | 
			
		||||
    channels = PA_MAX (8U, channels);
 | 
			
		||||
 | 
			
		||||
    __asm__ __volatile__ (
 | 
			
		||||
        " xor %3, %3                    \n\t"
 | 
			
		||||
| 
						 | 
				
			
			@ -257,7 +257,7 @@ static void run_test (void) {
 | 
			
		|||
    int32_t volumes[CHANNELS + PADDING];
 | 
			
		||||
    int i, j, padding;
 | 
			
		||||
    pa_do_volume_func_t func;
 | 
			
		||||
    struct timeval start, stop;
 | 
			
		||||
    pa_usec_t start, stop;
 | 
			
		||||
 | 
			
		||||
    func = pa_get_volume_func (PA_SAMPLE_S16NE);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -281,21 +281,21 @@ static void run_test (void) {
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pa_gettimeofday(&start);
 | 
			
		||||
    start = pa_rtclock_now();
 | 
			
		||||
    for (j = 0; j < TIMES; j++) {
 | 
			
		||||
        memcpy (samples, samples_orig, sizeof (samples));
 | 
			
		||||
        pa_volume_s16ne_sse (samples, volumes, CHANNELS, sizeof (samples));
 | 
			
		||||
    }
 | 
			
		||||
    pa_gettimeofday(&stop);
 | 
			
		||||
    pa_log_info("SSE: %llu usec.", (long long unsigned int)pa_timeval_diff (&stop, &start));
 | 
			
		||||
    stop = pa_rtclock_now();
 | 
			
		||||
    pa_log_info("SSE: %llu usec.", (long long unsigned int)(stop - start));
 | 
			
		||||
 | 
			
		||||
    pa_gettimeofday(&start);
 | 
			
		||||
    start = pa_rtclock_now();
 | 
			
		||||
    for (j = 0; j < TIMES; j++) {
 | 
			
		||||
        memcpy (samples_ref, samples_orig, sizeof (samples));
 | 
			
		||||
        func (samples_ref, volumes, CHANNELS, sizeof (samples));
 | 
			
		||||
    }
 | 
			
		||||
    pa_gettimeofday(&stop);
 | 
			
		||||
    pa_log_info("ref: %llu usec.", (long long unsigned int)pa_timeval_diff (&stop, &start));
 | 
			
		||||
    stop = pa_rtclock_now();
 | 
			
		||||
    pa_log_info("ref: %llu usec.", (long long unsigned int)(stop - start));
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
#endif /* defined (__i386__) || defined (__amd64__) */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue