Original Commit: r90 | ods15 | 2006-09-29 22:14:40 +0300 (Fri, 29 Sep 2006) | 3 lines
much better magic for floor, the first psychoacoustic in this encoder! now creates valid, 175kbps audio, which sounds good! :) Originally committed as revision 6494 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		
							parent
							
								
									9b9941bee6
								
							
						
					
					
						commit
						68e75e4dec
					
				@ -780,13 +780,11 @@ static void floor_fit(venc_context_t * venc, floor_t * fc, float * coeffs, int *
 | 
				
			|||||||
        int end   = fc->list[fc->list[FFMIN(i+1, fc->values - 1)].sort].x;
 | 
					        int end   = fc->list[fc->list[FFMIN(i+1, fc->values - 1)].sort].x;
 | 
				
			||||||
        int j;
 | 
					        int j;
 | 
				
			||||||
        float average = 0;
 | 
					        float average = 0;
 | 
				
			||||||
        begin = (position + begin) / 2;
 | 
					 | 
				
			||||||
        end   = (position + end  ) / 2;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        assert(end <= samples);
 | 
					        assert(end <= samples);
 | 
				
			||||||
        for (j = begin; j < end; j++) average += fabs(coeffs[j]);
 | 
					        for (j = begin; j < end; j++) average += fabs(coeffs[j]);
 | 
				
			||||||
        average /= end - begin;
 | 
					        average /= end - begin;
 | 
				
			||||||
        average /= 32; // MAGIC!
 | 
					        average /= pow(4, 1 - position/400.); // MAGIC!
 | 
				
			||||||
        for (j = 0; j < range - 1; j++) if (floor1_inverse_db_table[j * fc->multiplier] > average) break;
 | 
					        for (j = 0; j < range - 1; j++) if (floor1_inverse_db_table[j * fc->multiplier] > average) break;
 | 
				
			||||||
        posts[fc->list[i].sort] = j;
 | 
					        posts[fc->list[i].sort] = j;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user