avfilter/af_dynaudnorm: use better limits for maximal amplification
Fixes regression in smoothness of amplification.
This commit is contained in:
		
							parent
							
								
									dd39dbf983
								
							
						
					
					
						commit
						b650046860
					
				@ -521,10 +521,11 @@ static void update_gain_history(DynamicAudioNormalizerContext *s, int channel,
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while (cqueue_size(s->gain_history_minimum[channel]) >= s->filter_size) {
 | 
					    while (cqueue_size(s->gain_history_minimum[channel]) >= s->filter_size) {
 | 
				
			||||||
        double smoothed;
 | 
					        double smoothed, limit;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        smoothed = gaussian_filter(s, s->gain_history_minimum[channel], s->threshold_history[channel]);
 | 
					        smoothed = gaussian_filter(s, s->gain_history_minimum[channel], s->threshold_history[channel]);
 | 
				
			||||||
        smoothed = FFMIN(smoothed, cqueue_peek(s->gain_history_minimum[channel], s->filter_size / 2));
 | 
					        limit    = cqueue_peek(s->gain_history_original[channel], 0);
 | 
				
			||||||
 | 
					        smoothed = FFMIN(smoothed, limit);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        cqueue_enqueue(s->gain_history_smoothed[channel], smoothed);
 | 
					        cqueue_enqueue(s->gain_history_smoothed[channel], smoothed);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user