Friday, June 18, 2010

position_file_pointer

Digital Signal Processing Library

Voice Lab

position_file_pointer


int position_file_pointer(int window_number, int window_size, int data_size,
int header_length, int sample_rate, int overlap, FILE *input_file)
{
int file_pos;

/* The position takes into account the file header size, the window number and size */
/* In our specific case, we use 50% overlapping windows */

/*
** Overlap values:
** 1 -> no overlap
** 2 -> 50% overlap
*/

if(sample_rate == 50000) {
file_pos = (window_number*window_size*data_size*2) / overlap;
} else {
file_pos = (window_number*window_size*data_size) / overlap;
}
if(fseek(input_file, (file_pos+header_length), SEEK_SET) == -1) {
return(-1);
}
return(ftell(input_file));
}


No comments:

Post a Comment