summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/mp3data.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/firmware/mp3data.c b/firmware/mp3data.c
index 260412b68a..bca8560188 100644
--- a/firmware/mp3data.c
+++ b/firmware/mp3data.c
@@ -122,39 +122,39 @@ static bool mp3headerinfo(struct mp3info *info, unsigned long header)
122 int freqindex; 122 int freqindex;
123 123
124 /* MPEG Audio Version */ 124 /* MPEG Audio Version */
125 switch(header & VERSION_MASK) { 125 switch((header & VERSION_MASK) >> 19) {
126 case 0: 126 case 0:
127 /* MPEG version 2.5 is not an official standard */ 127 /* MPEG version 2.5 is not an official standard */
128 info->version = MPEG_VERSION2_5; 128 info->version = MPEG_VERSION2_5;
129 bittable = MPEG_VERSION2 - 1; /* use the V2 bit rate table */ 129 bittable = MPEG_VERSION2 - 1; /* use the V2 bit rate table */
130 break; 130 break;
131 131
132 case (1L << 19): 132 case 1:
133 return false; 133 return false;
134 134
135 case (2L << 19): 135 case 2:
136 /* MPEG version 2 (ISO/IEC 13818-3) */ 136 /* MPEG version 2 (ISO/IEC 13818-3) */
137 info->version = MPEG_VERSION2; 137 info->version = MPEG_VERSION2;
138 bittable = MPEG_VERSION2 - 1; 138 bittable = MPEG_VERSION2 - 1;
139 break; 139 break;
140 140
141 case (3L << 19): 141 case 3:
142 /* MPEG version 1 (ISO/IEC 11172-3) */ 142 /* MPEG version 1 (ISO/IEC 11172-3) */
143 info->version = MPEG_VERSION1; 143 info->version = MPEG_VERSION1;
144 bittable = MPEG_VERSION1 - 1; 144 bittable = MPEG_VERSION1 - 1;
145 break; 145 break;
146 } 146 }
147 147
148 switch(header & LAYER_MASK) { 148 switch((header & LAYER_MASK) >> 17) {
149 case 0: 149 case 0:
150 return false; 150 return false;
151 case (1L << 17): 151 case 1:
152 info->layer = 2; 152 info->layer = 2;
153 break; 153 break;
154 case (2L << 17): 154 case 2:
155 info->layer = 1; 155 info->layer = 1;
156 break; 156 break;
157 case (3L << 17): 157 case 3:
158 info->layer = 0; 158 info->layer = 0;
159 break; 159 break;
160 } 160 }
@@ -174,7 +174,7 @@ static bool mp3headerinfo(struct mp3info *info, unsigned long header)
174 return false; 174 return false;
175 175
176 info->padding = (header & 0x0200)?1:0; 176 info->padding = (header & 0x0200)?1:0;
177 177
178 /* Calculate number of bytes, calculation depends on layer */ 178 /* Calculate number of bytes, calculation depends on layer */
179 switch(info->layer) { 179 switch(info->layer) {
180 case 0: 180 case 0: