mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-22 16:24:04 +02:00
Update dr_flac and dr_mp3.
This commit is contained in:
+17
-2
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
FLAC audio decoder. Choice of public domain or MIT-0. See license statements at the end of this file.
|
||||
dr_flac - v0.12.14 - 2020-06-23
|
||||
dr_flac - v0.12.15 - 2020-07-06
|
||||
|
||||
David Reid - mackron@gmail.com
|
||||
|
||||
@@ -232,7 +232,7 @@ extern "C" {
|
||||
|
||||
#define DRFLAC_VERSION_MAJOR 0
|
||||
#define DRFLAC_VERSION_MINOR 12
|
||||
#define DRFLAC_VERSION_REVISION 14
|
||||
#define DRFLAC_VERSION_REVISION 15
|
||||
#define DRFLAC_VERSION_STRING DRFLAC_XSTRINGIFY(DRFLAC_VERSION_MAJOR) "." DRFLAC_XSTRINGIFY(DRFLAC_VERSION_MINOR) "." DRFLAC_XSTRINGIFY(DRFLAC_VERSION_REVISION)
|
||||
|
||||
#include <stddef.h> /* For size_t. */
|
||||
@@ -4993,6 +4993,18 @@ static drflac_bool32 drflac__decode_samples__lpc(drflac_bs* bs, drflac_uint32 bl
|
||||
return DRFLAC_FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
From the FLAC specification:
|
||||
|
||||
Quantized linear predictor coefficient shift needed in bits (NOTE: this number is signed two's-complement)
|
||||
|
||||
Emphasis on the "signed two's-complement". In practice there does not seem to be any encoders nor decoders supporting negative shifts. For now dr_flac is
|
||||
not going to support negative shifts as I don't have any reference files. However, when a reference file comes through I will consider adding support.
|
||||
*/
|
||||
if (lpcShift < 0) {
|
||||
return DRFLAC_FALSE;
|
||||
}
|
||||
|
||||
DRFLAC_ZERO_MEMORY(coefficients, sizeof(coefficients));
|
||||
for (i = 0; i < lpcOrder; ++i) {
|
||||
if (!drflac__read_int32(bs, lpcPrecision, coefficients + i)) {
|
||||
@@ -11740,6 +11752,9 @@ DRFLAC_API drflac_bool32 drflac_next_cuesheet_track(drflac_cuesheet_track_iterat
|
||||
/*
|
||||
REVISION HISTORY
|
||||
================
|
||||
v0.12.15 - 2020-07-06
|
||||
- Check for negative LPC shifts and return an error.
|
||||
|
||||
v0.12.14 - 2020-06-23
|
||||
- Add include guard for the implementation section.
|
||||
|
||||
|
||||
+6
-3
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
MP3 audio decoder. Choice of public domain or MIT-0. See license statements at the end of this file.
|
||||
dr_mp3 - v0.6.12 - 2020-06-23
|
||||
dr_mp3 - v0.6.13 - 2020-07-06
|
||||
|
||||
David Reid - mackron@gmail.com
|
||||
|
||||
@@ -95,7 +95,7 @@ extern "C" {
|
||||
|
||||
#define DRMP3_VERSION_MAJOR 0
|
||||
#define DRMP3_VERSION_MINOR 6
|
||||
#define DRMP3_VERSION_REVISION 12
|
||||
#define DRMP3_VERSION_REVISION 13
|
||||
#define DRMP3_VERSION_STRING DRMP3_XSTRINGIFY(DRMP3_VERSION_MAJOR) "." DRMP3_XSTRINGIFY(DRMP3_VERSION_MINOR) "." DRMP3_XSTRINGIFY(DRMP3_VERSION_REVISION)
|
||||
|
||||
#include <stddef.h> /* For size_t. */
|
||||
@@ -3645,7 +3645,7 @@ DRMP3_API drmp3_uint64 drmp3_read_pcm_frames_f32(drmp3* pMP3, drmp3_uint64 frame
|
||||
break;
|
||||
}
|
||||
|
||||
drmp3_s16_to_f32((float*)DRMP3_OFFSET_PTR(pBufferOut, sizeof(drmp3_int16) * totalPCMFramesRead * pMP3->channels), pTempS16, framesJustRead * pMP3->channels);
|
||||
drmp3_s16_to_f32((float*)DRMP3_OFFSET_PTR(pBufferOut, sizeof(float) * totalPCMFramesRead * pMP3->channels), pTempS16, framesJustRead * pMP3->channels);
|
||||
totalPCMFramesRead += framesJustRead;
|
||||
}
|
||||
|
||||
@@ -4428,6 +4428,9 @@ counts rather than sample counts.
|
||||
/*
|
||||
REVISION HISTORY
|
||||
================
|
||||
v0.6.13 - 2020-07-06
|
||||
- Fix a bug when converting from s16 to f32 in drmp3_read_pcm_frames_f32().
|
||||
|
||||
v0.6.12 - 2020-06-23
|
||||
- Add include guard for the implementation section.
|
||||
|
||||
|
||||
+6
-3
@@ -42538,7 +42538,7 @@ extern "C" {
|
||||
#define DRFLAC_XSTRINGIFY(x) DRFLAC_STRINGIFY(x)
|
||||
#define DRFLAC_VERSION_MAJOR 0
|
||||
#define DRFLAC_VERSION_MINOR 12
|
||||
#define DRFLAC_VERSION_REVISION 14
|
||||
#define DRFLAC_VERSION_REVISION 15
|
||||
#define DRFLAC_VERSION_STRING DRFLAC_XSTRINGIFY(DRFLAC_VERSION_MAJOR) "." DRFLAC_XSTRINGIFY(DRFLAC_VERSION_MINOR) "." DRFLAC_XSTRINGIFY(DRFLAC_VERSION_REVISION)
|
||||
#include <stddef.h>
|
||||
#ifdef _MSC_VER
|
||||
@@ -42900,7 +42900,7 @@ extern "C" {
|
||||
#define DRMP3_XSTRINGIFY(x) DRMP3_STRINGIFY(x)
|
||||
#define DRMP3_VERSION_MAJOR 0
|
||||
#define DRMP3_VERSION_MINOR 6
|
||||
#define DRMP3_VERSION_REVISION 12
|
||||
#define DRMP3_VERSION_REVISION 13
|
||||
#define DRMP3_VERSION_STRING DRMP3_XSTRINGIFY(DRMP3_VERSION_MAJOR) "." DRMP3_XSTRINGIFY(DRMP3_VERSION_MINOR) "." DRMP3_XSTRINGIFY(DRMP3_VERSION_REVISION)
|
||||
#include <stddef.h>
|
||||
#ifdef _MSC_VER
|
||||
@@ -53089,6 +53089,9 @@ static drflac_bool32 drflac__decode_samples__lpc(drflac_bs* bs, drflac_uint32 bl
|
||||
if (!drflac__read_int8(bs, 5, &lpcShift)) {
|
||||
return DRFLAC_FALSE;
|
||||
}
|
||||
if (lpcShift < 0) {
|
||||
return DRFLAC_FALSE;
|
||||
}
|
||||
DRFLAC_ZERO_MEMORY(coefficients, sizeof(coefficients));
|
||||
for (i = 0; i < lpcOrder; ++i) {
|
||||
if (!drflac__read_int32(bs, lpcPrecision, coefficients + i)) {
|
||||
@@ -61148,7 +61151,7 @@ DRMP3_API drmp3_uint64 drmp3_read_pcm_frames_f32(drmp3* pMP3, drmp3_uint64 frame
|
||||
if (framesJustRead == 0) {
|
||||
break;
|
||||
}
|
||||
drmp3_s16_to_f32((float*)DRMP3_OFFSET_PTR(pBufferOut, sizeof(drmp3_int16) * totalPCMFramesRead * pMP3->channels), pTempS16, framesJustRead * pMP3->channels);
|
||||
drmp3_s16_to_f32((float*)DRMP3_OFFSET_PTR(pBufferOut, sizeof(float) * totalPCMFramesRead * pMP3->channels), pTempS16, framesJustRead * pMP3->channels);
|
||||
totalPCMFramesRead += framesJustRead;
|
||||
}
|
||||
return totalPCMFramesRead;
|
||||
|
||||
Reference in New Issue
Block a user