summaryrefslogtreecommitdiff
path: root/apps/codecs/demac/libdemac/decoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/demac/libdemac/decoder.c')
-rw-r--r--apps/codecs/demac/libdemac/decoder.c35
1 files changed, 21 insertions, 14 deletions
diff --git a/apps/codecs/demac/libdemac/decoder.c b/apps/codecs/demac/libdemac/decoder.c
index 09563e0112..c415db774a 100644
--- a/apps/codecs/demac/libdemac/decoder.c
+++ b/apps/codecs/demac/libdemac/decoder.c
@@ -118,22 +118,22 @@ int ICODE_ATTR_DEMAC decode_chunk(struct ape_ctx_t* ape_ctx,
118 switch (ape_ctx->compressiontype) 118 switch (ape_ctx->compressiontype)
119 { 119 {
120 case 2000: 120 case 2000:
121 apply_filter_16_11(ape_ctx->fileversion,decoded0,NULL,count); 121 apply_filter_16_11(ape_ctx->fileversion,0,decoded0,count);
122 break; 122 break;
123 123
124 case 3000: 124 case 3000:
125 apply_filter_64_11(ape_ctx->fileversion,decoded0,NULL,count); 125 apply_filter_64_11(ape_ctx->fileversion,0,decoded0,count);
126 break; 126 break;
127 127
128 case 4000: 128 case 4000:
129 apply_filter_32_10(ape_ctx->fileversion,decoded0,NULL,count); 129 apply_filter_32_10(ape_ctx->fileversion,0,decoded0,count);
130 apply_filter_256_13(ape_ctx->fileversion,decoded0,NULL,count); 130 apply_filter_256_13(ape_ctx->fileversion,0,decoded0,count);
131 break; 131 break;
132 132
133 case 5000: 133 case 5000:
134 apply_filter_16_11(ape_ctx->fileversion,decoded0,NULL,count); 134 apply_filter_16_11(ape_ctx->fileversion,0,decoded0,count);
135 apply_filter_256_13(ape_ctx->fileversion,decoded0,NULL,count); 135 apply_filter_256_13(ape_ctx->fileversion,0,decoded0,count);
136 apply_filter_1280_15(ape_ctx->fileversion,decoded0,NULL,count); 136 apply_filter_1280_15(ape_ctx->fileversion,0,decoded0,count);
137 } 137 }
138 138
139 /* Now apply the predictor decoding */ 139 /* Now apply the predictor decoding */
@@ -171,22 +171,29 @@ int ICODE_ATTR_DEMAC decode_chunk(struct ape_ctx_t* ape_ctx,
171 switch (ape_ctx->compressiontype) 171 switch (ape_ctx->compressiontype)
172 { 172 {
173 case 2000: 173 case 2000:
174 apply_filter_16_11(ape_ctx->fileversion,decoded0,decoded1,count); 174 apply_filter_16_11(ape_ctx->fileversion,0,decoded0,count);
175 apply_filter_16_11(ape_ctx->fileversion,1,decoded1,count);
175 break; 176 break;
176 177
177 case 3000: 178 case 3000:
178 apply_filter_64_11(ape_ctx->fileversion,decoded0,decoded1,count); 179 apply_filter_64_11(ape_ctx->fileversion,0,decoded0,count);
180 apply_filter_64_11(ape_ctx->fileversion,1,decoded1,count);
179 break; 181 break;
180 182
181 case 4000: 183 case 4000:
182 apply_filter_32_10(ape_ctx->fileversion,decoded0,decoded1,count); 184 apply_filter_32_10(ape_ctx->fileversion,0,decoded0,count);
183 apply_filter_256_13(ape_ctx->fileversion,decoded0,decoded1,count); 185 apply_filter_32_10(ape_ctx->fileversion,1,decoded1,count);
186 apply_filter_256_13(ape_ctx->fileversion,0,decoded0,count);
187 apply_filter_256_13(ape_ctx->fileversion,1,decoded1,count);
184 break; 188 break;
185 189
186 case 5000: 190 case 5000:
187 apply_filter_16_11(ape_ctx->fileversion,decoded0,decoded1,count); 191 apply_filter_16_11(ape_ctx->fileversion,0,decoded0,count);
188 apply_filter_256_13(ape_ctx->fileversion,decoded0,decoded1,count); 192 apply_filter_16_11(ape_ctx->fileversion,1,decoded1,count);
189 apply_filter_1280_15(ape_ctx->fileversion,decoded0,decoded1,count); 193 apply_filter_256_13(ape_ctx->fileversion,0,decoded0,count);
194 apply_filter_256_13(ape_ctx->fileversion,1,decoded1,count);
195 apply_filter_1280_15(ape_ctx->fileversion,0,decoded0,count);
196 apply_filter_1280_15(ape_ctx->fileversion,1,decoded1,count);
190 } 197 }
191 198
192 /* Now apply the predictor decoding */ 199 /* Now apply the predictor decoding */