mirror of https://github.com/nu774/fdkaac.git
Compare commits
5 Commits
1a1ee2924f
...
03c3c60191
Author | SHA1 | Date |
---|---|---|
nu774 | 03c3c60191 | |
nu774 | 59455af10a | |
nu774 | ae1f4c3afd | |
nu774 | 0ce71d066a | |
nu774 | ecddb7d633 |
16
ChangeLog
16
ChangeLog
|
@ -1,12 +1,24 @@
|
|||
2022-07-13 nu774 <honeycomb77@gmail.com>
|
||||
2022-08-04 nu774 <honeycomb77@gmail.com>
|
||||
|
||||
* bump [HEAD -> master]
|
||||
|
||||
* fdk-aac.vcxproj: support vs2022
|
||||
|
||||
* extrapolater: don't return more samples than required
|
||||
|
||||
* wav/caf parser: add format checks
|
||||
|
||||
2022-07-13 nu774 <honeycomb77@gmail.com>
|
||||
|
||||
* update ChangeLog [origin/master]
|
||||
|
||||
* bump [v1.0.3]
|
||||
|
||||
* wav/caf parser: ensure fmt/desc chunk
|
||||
|
||||
2021-11-15 nu774 <honeycomb77@gmail.com>
|
||||
|
||||
* vcxproj: support Visual Studio 2022 [origin/master]
|
||||
* vcxproj: support Visual Studio 2022
|
||||
|
||||
2021-04-23 nu774 <honeycomb77@gmail.com>
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
<RootNamespace>fdk-aac</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(MSBuildToolsVersion)' == '17.0'">v143</PlatformToolset>
|
||||
<PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(MSBuildToolsVersion)' == '16.0'">v142</PlatformToolset>
|
||||
<PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(MSBuildToolsVersion)' == '15.0'">v141_xp</PlatformToolset>
|
||||
<PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(MSBuildToolsVersion)' == '14.0'">v140_xp</PlatformToolset>
|
||||
|
|
|
@ -75,8 +75,10 @@ int caf_desc(caf_reader_t *reader, int64_t chunk_size)
|
|||
ENSURE(mFormatID == M4AF_FOURCC('l','p','c','m'));
|
||||
ENSURE(mSampleRate && mBytesPerPacket &&
|
||||
mChannelsPerFrame >= 1 && mChannelsPerFrame <= 8 &&
|
||||
mBitsPerChannel && mFramesPerPacket == 1 &&
|
||||
mBitsPerChannel > 0 && mBitsPerChannel < 256 &&
|
||||
mFramesPerPacket == 1 &&
|
||||
mBytesPerPacket % mChannelsPerFrame == 0 &&
|
||||
mBytesPerPacket < 256 &&
|
||||
mBytesPerPacket >= mChannelsPerFrame * ((mBitsPerChannel + 7) / 8));
|
||||
|
||||
desc->sample_rate = mSampleRate;
|
||||
|
|
|
@ -144,17 +144,22 @@ static int process1(extrapolater_t *self, void *buffer, unsigned nframes)
|
|||
assert(bp->count <= nframes);
|
||||
memcpy(buffer, bp->data, bp->count * sfmt->bytes_per_frame);
|
||||
if (!fetch(self, nframes)) {
|
||||
// got EOF
|
||||
buffer_t *bbp = &self->buffer[self->nbuffer];
|
||||
if (bp->count < 2 * LPC_ORDER) {
|
||||
// final frame is too short, so we join with the pre-final frame
|
||||
size_t total = bp->count + bbp->count;
|
||||
if (bbp->count &&
|
||||
realloc_buffer(bbp, total * sfmt->bytes_per_frame) == 0 &&
|
||||
realloc_buffer(bp, total * sfmt->bytes_per_frame) == 0)
|
||||
{
|
||||
memcpy(bbp->data + bbp->count * sfmt->channels_per_frame,
|
||||
bp->data, bp->count * sfmt->bytes_per_frame);
|
||||
memcpy(bp->data, bbp->data, total * sfmt->bytes_per_frame);
|
||||
bp->count = total;
|
||||
bp->data,
|
||||
bp->count * sfmt->bytes_per_frame);
|
||||
memcpy(bp->data,
|
||||
bbp->data + bp->count * sfmt->channels_per_frame,
|
||||
bbp->count * sfmt->bytes_per_frame);
|
||||
bp->count = bbp->count;
|
||||
}
|
||||
}
|
||||
if (bp->count >= 2 * LPC_ORDER)
|
||||
|
|
|
@ -113,8 +113,10 @@ int wav_fmt(wav_reader_t *reader, uint32_t size)
|
|||
wValidBitsPerSample = wBitsPerSample;
|
||||
|
||||
ENSURE(wFormatTag == 1 || wFormatTag == 3 || wFormatTag == 0xfffe);
|
||||
ENSURE(nChannels && nSamplesPerSec && nAvgBytesPerSec &&
|
||||
nBlockAlign && wBitsPerSample && !(wBitsPerSample & 7) &&
|
||||
ENSURE(nChannels > 0 && nChannels <= 8 &&
|
||||
nSamplesPerSec && nAvgBytesPerSec &&
|
||||
nBlockAlign && nBlockAlign < 256 &&
|
||||
wBitsPerSample && wBitsPerSample < 256 && !(wBitsPerSample & 7) &&
|
||||
nBlockAlign == nChannels * wBitsPerSample / 8);
|
||||
|
||||
if (wFormatTag == 3)
|
||||
|
|
Loading…
Reference in New Issue