31 #define APE_MIN_VERSION 3800
32 #define APE_MAX_VERSION 3990
34 #define MAC_FORMAT_FLAG_8_BIT 1 // is 8-bit [OBSOLETE]
35 #define MAC_FORMAT_FLAG_CRC 2 // uses the new CRC32 error detection [OBSOLETE]
36 #define MAC_FORMAT_FLAG_HAS_PEAK_LEVEL 4 // uint32 nPeakLevel after the header [OBSOLETE]
37 #define MAC_FORMAT_FLAG_24_BIT 8 // is 24-bit [OBSOLETE]
38 #define MAC_FORMAT_FLAG_HAS_SEEK_ELEMENTS 16 // has the number of seek elements after the peak level
39 #define MAC_FORMAT_FLAG_CREATE_WAV_HEADER 32 // create the wave header on decompression (not stored)
41 #define APE_EXTRADATA_SIZE 6
89 if (p->
buf[0] ==
'M' && p->
buf[1] ==
'A' && p->
buf[2] ==
'C' && p->
buf[3] ==
' ')
111 for (i = 0; i < 16; i++)
131 if (i < ape_ctx->totalframes - 1) {
165 int total_blocks, final_size = 0;
166 int64_t pts, file_size;
172 if (tag !=
MKTAG(
'M',
'A',
'C',
' '))
263 "Number of seek entries is less than number of frames: %zu vs. %"PRIu32
"\n",
313 final_size -= final_size & 3;
315 if (file_size <= 0 || final_size <= 0)
328 if (i < ape->totalframes - 1 && ape->
bittable[i + 1])
464 .extensions =
"ape,apl,mac",