mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	remap: fix check when to apply specialized code path
the specialized code path just duplicate samples, so are only applicable if the volume in map_table is == 1.0 (or == 0x10000); don't use them for volumes >= 1.0 compare the integer version of the volume stored in map_table; comparing floats is ugly (als leads to compiler warnings) Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
This commit is contained in:
		
							parent
							
								
									1d045af0a2
								
							
						
					
					
						commit
						578d2ce5c8
					
				
					 3 changed files with 6 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -27,6 +27,7 @@
 | 
			
		|||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#include <pulse/sample.h>
 | 
			
		||||
#include <pulse/volume.h>
 | 
			
		||||
#include <pulsecore/log.h>
 | 
			
		||||
#include <pulsecore/macro.h>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -168,7 +169,7 @@ static void init_remap_c(pa_remap_t *m) {
 | 
			
		|||
 | 
			
		||||
    /* find some common channel remappings, fall back to full matrix operation. */
 | 
			
		||||
    if (n_ic == 1 && n_oc == 2 &&
 | 
			
		||||
            m->map_table_f[0][0] >= 1.0 && m->map_table_f[1][0] >= 1.0) {
 | 
			
		||||
            m->map_table_i[0][0] == PA_VOLUME_NORM && m->map_table_i[1][0] == PA_VOLUME_NORM) {
 | 
			
		||||
        m->do_remap = (pa_do_remap_func_t) remap_mono_to_stereo_c;
 | 
			
		||||
        pa_log_info("Using mono to stereo remapping");
 | 
			
		||||
    } else {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,7 @@
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
#include <pulse/sample.h>
 | 
			
		||||
#include <pulse/volume.h>
 | 
			
		||||
#include <pulsecore/log.h>
 | 
			
		||||
#include <pulsecore/macro.h>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -139,7 +140,7 @@ static void init_remap_mmx(pa_remap_t *m) {
 | 
			
		|||
 | 
			
		||||
    /* find some common channel remappings, fall back to full matrix operation. */
 | 
			
		||||
    if (n_ic == 1 && n_oc == 2 &&
 | 
			
		||||
            m->map_table_f[0][0] >= 1.0 && m->map_table_f[1][0] >= 1.0) {
 | 
			
		||||
            m->map_table_i[0][0] == PA_VOLUME_NORM && m->map_table_i[1][0] == PA_VOLUME_NORM) {
 | 
			
		||||
        m->do_remap = (pa_do_remap_func_t) remap_mono_to_stereo_mmx;
 | 
			
		||||
        pa_log_info("Using MMX mono to stereo remapping");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,7 @@
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
#include <pulse/sample.h>
 | 
			
		||||
#include <pulse/volume.h>
 | 
			
		||||
#include <pulsecore/log.h>
 | 
			
		||||
#include <pulsecore/macro.h>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -138,7 +139,7 @@ static void init_remap_sse2(pa_remap_t *m) {
 | 
			
		|||
 | 
			
		||||
    /* find some common channel remappings, fall back to full matrix operation. */
 | 
			
		||||
    if (n_ic == 1 && n_oc == 2 &&
 | 
			
		||||
            m->map_table_f[0][0] >= 1.0 && m->map_table_f[1][0] >= 1.0) {
 | 
			
		||||
            m->map_table_i[0][0] == PA_VOLUME_NORM && m->map_table_i[1][0] == PA_VOLUME_NORM) {
 | 
			
		||||
        m->do_remap = (pa_do_remap_func_t) remap_mono_to_stereo_sse2;
 | 
			
		||||
        pa_log_info("Using SSE2 mono to stereo remapping");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue