diff options
author | Jens Arnold <amiconn@rockbox.org> | 2005-09-25 19:07:56 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2005-09-25 19:07:56 +0000 |
commit | 893669cc101fc0804147f704adff47b343275c69 (patch) | |
tree | beea5e45fa5142f5bbd7e8082f4934cfda72fb39 /firmware | |
parent | 87ebd361e26fd9a621e09510d8553a9e3e8fd268 (diff) | |
download | rockbox-893669cc101fc0804147f704adff47b343275c69.tar.gz rockbox-893669cc101fc0804147f704adff47b343275c69.zip |
Rather obvious simplification of the mpeg frametime fraction calculation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7562 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/mp3data.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/firmware/mp3data.c b/firmware/mp3data.c index 519bc60b04..3c9264b7cc 100644 --- a/firmware/mp3data.c +++ b/firmware/mp3data.c | |||
@@ -158,23 +158,18 @@ static bool mp3headerinfo(struct mp3info *info, unsigned long header) | |||
158 | / info->frequency + info->padding; | 158 | / info->frequency + info->padding; |
159 | } | 159 | } |
160 | 160 | ||
161 | /* Frametime fraction calculation. | 161 | /* Frametime fraction denominator */ |
162 | This fraction is reduced as far as possible. */ | 162 | if (freqindex != 0) { /* 48/32/24/16/12/8 kHz */ |
163 | if (freqindex != 0) { /* 48/32/24/16/12/8 kHz */ | 163 | info->ft_den = 1; /* integer number of milliseconds */ |
164 | /* integer number of milliseconds, denominator == 1 */ | ||
165 | info->ft_num = 1000 * info->frame_samples / info->frequency; | ||
166 | info->ft_den = 1; | ||
167 | } | 164 | } |
168 | else { /* 44.1/22.05/11.025 kHz */ | 165 | else { /* 44.1/22.05/11.025 kHz */ |
169 | if (info->layer == 0) { | 166 | if (info->layer == 0) /* layer 1 */ |
170 | info->ft_num = 147000 * 384 / info->frequency; | ||
171 | info->ft_den = 147; | 167 | info->ft_den = 147; |
172 | } | 168 | else /* layer 2+3 */ |
173 | else { | ||
174 | info->ft_num = 49000 * info->frame_samples / info->frequency; | ||
175 | info->ft_den = 49; | 169 | info->ft_den = 49; |
176 | } | ||
177 | } | 170 | } |
171 | /* Frametime fraction numerator */ | ||
172 | info->ft_num = 1000 * info->ft_den * info->frame_samples / info->frequency; | ||
178 | 173 | ||
179 | info->channel_mode = (header & CHANNELMODE_MASK) >> 6; | 174 | info->channel_mode = (header & CHANNELMODE_MASK) >> 6; |
180 | info->mode_extension = (header & MODE_EXT_MASK) >> 4; | 175 | info->mode_extension = (header & MODE_EXT_MASK) >> 4; |