1
0
mirror of https://github.com/nu774/fdkaac.git synced 2025-06-05 23:29:14 +02:00

8 Commits

Author SHA1 Message Date
3bf454a5a3 bump 2023-02-15 20:57:33 +09:00
22dbf72491 fixes https://github.com/nu774/fdkaac/issues/55 2023-02-15 20:56:33 +09:00
03c3c60191 updateChangeLog 2022-08-04 21:16:14 +09:00
59455af10a bump 2022-08-04 21:14:35 +09:00
ae1f4c3afd fdk-aac.vcxproj: support vs2022 2022-08-04 21:13:18 +09:00
0ce71d066a extrapolater: don't return more samples than required
fixes https://github.com/nu774/fdkaac/issues/54
2022-08-04 21:11:53 +09:00
ecddb7d633 wav/caf parser: add format checks
fixes https://github.com/nu774/fdkaac/issues/54
2022-08-04 21:06:10 +09:00
1a1ee2924f update ChangeLog 2022-07-13 21:03:53 +09:00
8 changed files with 110 additions and 14 deletions

View File

@ -1,8 +1,88 @@
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
2021-04-23 nu774 <honeycomb77@gmail.com>
* bump [v1.0.2]
* m4af: fix mvhd/tkhd duration
2020-09-21 nu774 <honeycomb77@gmail.com>
* bump [v1.0.1]
* add Windows 10 long pathname manifest
2019-09-27 nu774 <honeycomb77@gmail.com>
* fix indent
2019-09-19 Dima <yudind@gmail.com>
* process 32-bit input if possible (i.e. respect aac:INT_PCM type)
2019-04-04 nu774 <honeycomb77@gmail.com>
* vcxproj: support visual studio 2019
2018-12-10 tico-tico <sergei.ivn@gmx.com>
* don't inject timestamp
2018-09-04 nu774 <honeycomb77@gmail.com>
* bump version 1.0.0 [1.0.0]
* Fix LD/ELD issue: priming samples are too short to be discarded
2018-09-03 nu774 <honeycomb77@gmail.com>
* FDKv2 API change: encoderDelay -> nDelay/nDelayCore
* update MSVC projects for FDKv2
* use different IntDir for fdk-aac build
* remove zombies from fdk-aac.vcxproj.filters
* fix: -L option was not working (resulted in segfault)
2017-03-16 nu774 <honeycomb77@gmail.com>
* MSVC projects: update for VS2017
2017-01-16 nu774 <honeycomb77@gmail.com>
* address issue#26
2016-08-27 nu774 <honeycomb77@gmail.com>
* remove aacenc_hcr.* from MSVC project
2016-08-26 nu774 <honeycomb77@gmail.com>
* update ChangeLog [HEAD -> master]
* update ChangeLog
* bump [origin/master]
* bump [v0.6.3]
* Ticket #23: quit supporting MPEG-2 AOT

View File

@ -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>

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# Copyright (C) 2013 nu774
# For conditions of distribution and use, see copyright notice in COPYING
@ -39,6 +39,6 @@ with Popen(GITLOG_CMD, shell=False, stdout=PIPE).stdout as pipe:
commits = parse_gitlog(pipe)
commits_by_date_author = groupby(commits, key=lambda x: (x.date, x.author))
for (date, author), commits in commits_by_date_author:
output(u'{0} {1}\n\n'.format(date, author).encode('utf-8'))
output(f'{date} {author}\n\n')
for c in commits:
output(u' * {0}{1}\n\n'.format(c.subject, c.ref).encode('utf-8'))
output(f' * {c.subject}{c.ref}\n\n')

View File

@ -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;
@ -103,10 +105,14 @@ int caf_info(caf_reader_t *reader, int64_t chunk_size)
{
char *buf, *key, *val, *end;
size_t len;
int n;
if (chunk_size < 4 || (buf = malloc(chunk_size)) == 0)
if (chunk_size < 4 || (buf = malloc(chunk_size+1)) == 0)
return -1;
pcm_read(&reader->io, buf, chunk_size);
n = pcm_read(&reader->io, buf, chunk_size);
if (n != chunk_size)
return -1;
buf[n] = 0;
key = buf + 4;
end = buf + chunk_size;
do {

View File

@ -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)

View File

@ -60,6 +60,8 @@ int pcm_skip(pcm_io_context_t *io, int64_t count)
if (count == 0 || pcm_seek(io, count, SEEK_CUR) >= 0)
return 0;
if (count < 0)
return -1;
do {
if ((rc = vp->read(io->cookie, buff, count > 8192 ? 8192 : count)) > 0)
count -= rc;

View File

@ -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)

View File

@ -1,4 +1,4 @@
#ifndef VERSION_H
#define VERSION_H
const char *fdkaac_version = "1.0.3";
const char *fdkaac_version = "1.0.5";
#endif