Projects
Staging
fdkaac
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 2
View file
fdkaac.changes
Changed
@@ -1,4 +1,16 @@ ------------------------------------------------------------------- +Tue Aug 24 13:10:09 UTC 2021 - Luigi Baldoni <aloisio@gmx.com> + +- Update to version 1.0.2 + * m4af: fix mvhd/tkhd duration + version 1.0.1: + * fix indent + * process 32-bit input if possible (i.e. respect aac:INT_PCM + type) + * don't inject timestamp +- Spec cleanup + +------------------------------------------------------------------- Wed Feb 6 11:51:45 UTC 2019 - zaitor@opensuse.org - Update to version 1.0.0:
View file
fdkaac.spec
Changed
@@ -1,6 +1,7 @@ # # spec file for package fdkaac # +# Copyright (c) 2021 Packman Team <packman@links2linux.de> # Copyright (c) 2018 Malcolm J Lewis <malcolmlewis@opensuse.org> # # All modifications and additions to the file contributed by third parties @@ -12,23 +13,22 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.links2linux.org/ # + Name: fdkaac -Version: 1.0.0 +Version: 1.0.2 Release: 0 -License: Zlib Summary: Command line frontend for libfdk-aac encoder -Url: https://github.com/nu774/fdkaac +License: Zlib Group: Productivity/Multimedia/Other -Source0: %{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz - +URL: https://github.com/nu774/fdkaac +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: autoconf BuildRequires: automake -BuildRequires: pkg-config +BuildRequires: pkgconfig BuildRequires: pkgconfig(fdk-aac) -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description fdkaac reads linear PCM audio in either WAV, raw PCM, or CAF format, and encodes @@ -47,7 +47,7 @@ %build autoreconf -ivf %configure -make %{?_smp_mflags} +%make_build %install %make_install
View file
fdkaac-1.0.0.tar.gz/MSVC/fdk-aac.vcxproj -> fdkaac-1.0.2.tar.gz/MSVC/fdk-aac.vcxproj
Changed
@@ -24,6 +24,7 @@ <RootNamespace>fdk-aac</RootNamespace> </PropertyGroup> <PropertyGroup> + <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> <PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(MSBuildToolsVersion)' == '12.0'">v120_xp</PlatformToolset>
View file
fdkaac-1.0.0.tar.gz/MSVC/fdkaac.vcxproj -> fdkaac-1.0.2.tar.gz/MSVC/fdkaac.vcxproj
Changed
@@ -24,6 +24,7 @@ <RootNamespace>fdkaac</RootNamespace> </PropertyGroup> <PropertyGroup> + <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> <PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(MSBuildToolsVersion)' == '12.0'">v120_xp</PlatformToolset> @@ -54,6 +55,9 @@ <SubSystem>Console</SubSystem> <GenerateDebugInformation>true</GenerateDebugInformation> </Link> + <Manifest> + <AdditionalManifestFiles>..\fdkaac.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles> + </Manifest> <PreBuildEvent> <Command>copy ..\fdk-aac\libAACdec\include\aacdecoder_lib.h include\fdk-aac\ copy ..\fdk-aac\libAACenc\include\aacenc_lib.h include\fdk-aac\
View file
fdkaac-1.0.0.tar.gz/Makefile.am -> fdkaac-1.0.2.tar.gz/Makefile.am
Changed
@@ -25,6 +25,9 @@ fdkaac_LDADD = \ @LIBICONV@ @CHARSET_LIB@ -lfdk-aac -lm +.rc.o: + $(RC) $< -o $@ + if FDK_PLATFORM_POSIX fdkaac_SOURCES += \ src/compat_posix.c @@ -33,6 +36,7 @@ if FDK_PLATFORM_WIN32 fdkaac_SOURCES += \ src/compat_win32.c + fdkaac_SOURCES += fdkaac.rc endif if FDK_NO_GETOPT_LONG
View file
fdkaac-1.0.0.tar.gz/configure.ac -> fdkaac-1.0.2.tar.gz/configure.ac
Changed
@@ -11,6 +11,7 @@ AC_PROG_CC AM_PROG_CC_C_O +AC_CHECK_TOOL(RC, windres,) AC_CHECK_HEADERS(sys/time.h) AC_CHECK_HEADERS(libcharset.h langinfo.h endian.h byteswap.h)
View file
fdkaac-1.0.2.tar.gz/fdkaac.manifest
Added
@@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <application xmlns="urn:schemas-microsoft-com:asm.v3"> + <windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings"> + <ws2:longPathAware>true</ws2:longPathAware> + </windowsSettings> + </application> +</assembly>
View file
fdkaac-1.0.2.tar.gz/fdkaac.rc
Added
@@ -0,0 +1,3 @@ +#include <winresrc.h> + +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "fdkaac.manifest"
View file
fdkaac-1.0.0.tar.gz/src/aacenc.c -> fdkaac-1.0.2.tar.gz/src/aacenc.c
Changed
@@ -247,7 +247,7 @@ int aac_encode_frame(HANDLE_AACENCODER encoder, const pcm_sample_description_t *format, - const int16_t *input, unsigned iframes, + const INT_PCM *input, unsigned iframes, aacenc_frame_t *output) { uint32_t ilen = iframes * format->channels_per_frame; @@ -258,9 +258,9 @@ void *obufs1; INT ibuf_ids = { IN_AUDIO_DATA }; INT obuf_ids = { OUT_BITSTREAM_DATA }; - INT ibuf_sizes = { ilen * sizeof(int16_t) }; + INT ibuf_sizes = { ilen * sizeof(INT_PCM) }; INT obuf_sizes1; - INT ibuf_el_sizes = { sizeof(int16_t) }; + INT ibuf_el_sizes = { sizeof(INT_PCM) }; INT obuf_el_sizes = { 1 }; AACENC_ERROR err; unsigned channel_mode, obytes;
View file
fdkaac-1.0.0.tar.gz/src/aacenc.h -> fdkaac-1.0.2.tar.gz/src/aacenc.h
Changed
@@ -50,7 +50,7 @@ int aac_encode_frame(HANDLE_AACENCODER encoder, const pcm_sample_description_t *format, - const int16_t *input, unsigned iframes, + const INT_PCM *input, unsigned iframes, aacenc_frame_t *output); #endif
View file
fdkaac-1.0.0.tar.gz/src/m4af.c -> fdkaac-1.0.2.tar.gz/src/m4af.c
Changed
@@ -223,7 +223,7 @@ } m4af_ctx_t *m4af_create(uint32_t codec, uint32_t timescale, - m4af_io_callbacks_t *io, void *io_cookie) + m4af_io_callbacks_t *io, void *io_cookie, int no_timestamp) { m4af_ctx_t *ctx; int64_t timestamp; @@ -237,7 +237,7 @@ memcpy(&ctx->io, io, sizeof(m4af_io_callbacks_t)); ctx->io_cookie = io_cookie; ctx->timescale = timescale; - timestamp = m4af_timestamp(); + timestamp = no_timestamp ? 0 : m4af_timestamp(); ctx->creation_time = timestamp; ctx->modification_time = timestamp; ctx->num_tracks = 1; @@ -1103,8 +1103,10 @@ { m4af_track_t *track = &ctx->tracktrack_idx; int64_t pos = m4af_tell(ctx); - int64_t duration = - (double)track->duration / track->timescale * ctx->timescale + .5; + int64_t duration = track->duration; + if (ctx->priming_mode & M4AF_PRIMING_MODE_EDTS) + duration -= (track->encoder_delay + track->padding); + duration = (double)duration / track->timescale * ctx->timescale + .5; uint8_t version = (track->creation_time > UINT32_MAX || track->modification_time > UINT32_MAX || duration > UINT32_MAX); @@ -1169,6 +1171,8 @@ unsigned i; for (i = 0; i < ctx->num_tracks; ++i) { double x = ctx->tracki.duration; + if (ctx->priming_mode & M4AF_PRIMING_MODE_EDTS) + x -= (ctx->tracki.encoder_delay + ctx->tracki.padding); int64_t duration = x / ctx->tracki.timescale * ctx->timescale + .5; if (duration > movie_duration) movie_duration = duration;
View file
fdkaac-1.0.0.tar.gz/src/m4af.h -> fdkaac-1.0.2.tar.gz/src/m4af.h
Changed
@@ -75,7 +75,7 @@ m4af_ctx_t *m4af_create(uint32_t codec, uint32_t timescale, - m4af_io_callbacks_t *io, void *io_cookie); + m4af_io_callbacks_t *io, void *io_cookie, int no_timestamp); int m4af_begin_write(m4af_ctx_t *ctx);
View file
fdkaac-1.0.0.tar.gz/src/main.c -> fdkaac-1.0.2.tar.gz/src/main.c
Changed
@@ -159,6 +159,7 @@ " -I, --ignorelength Ignore length of WAV header\n" " -S, --silent Don't print progress messages\n" " --moov-before-mdat Place moov box before mdat box on m4a output\n" +" --no-timestamp Don't inject timestamp in the file\n" "\n" "Options for raw (headerless) input:\n" " -R, --raw Treat input as raw (by default WAV is\n" @@ -221,6 +222,8 @@ unsigned raw_rate; const char *raw_format; + int no_timestamp; + aacenc_tag_store_t tags; aacenc_tag_store_t source_tags; aacenc_translate_generic_text_tag_ctx_t source_tag_ctx; @@ -244,7 +247,7 @@ #define OPT_LONG_TAG M4AF_FOURCC('l','t','a','g') #define OPT_TAG_FROM_JSON M4AF_FOURCC('t','f','j','s') - static struct option long_options = { + static const struct option long_options = { { "help", no_argument, 0, 'h' }, { "profile", required_argument, 0, 'p' }, { "bitrate", required_argument, 0, 'b' }, @@ -284,6 +287,8 @@ { "tag-from-file", required_argument, 0, OPT_SHORT_TAG_FILE }, { "long-tag", required_argument, 0, OPT_LONG_TAG }, { "tag-from-json", required_argument, 0, OPT_TAG_FROM_JSON }, + + { "no-timestamp", no_argument, 0, '#' }, { 0, 0, 0, 0 }, }; params->afterburner = 1; @@ -456,6 +461,9 @@ case OPT_TAG_FROM_JSON: params->json_filename = optarg; break; + case '#': + params->no_timestamp = 1; + break; default: return usage(), -1; } @@ -513,7 +521,7 @@ HANDLE_AACENCODER encoder, uint32_t frame_length, m4af_ctx_t *m4af) { - int16_t *ibuf = 0, *ip; + INT_PCM *ibuf = 0, *ip; aacenc_frame_t obuf2 = {{ 0 }}, *obp; unsigned flip = 0; int nread = 1; @@ -833,7 +841,7 @@ unsigned framelen = aacinfo.frameLength; scale = sample_format->sample_rate >> scale_shift; if ((m4af = m4af_create(M4AF_CODEC_MP4A, scale, &m4af_io, - params.output_fp)) < 0) + params.output_fp, params.no_timestamp)) < 0) goto END; m4af_set_num_channels(m4af, 0, sample_format->channels_per_frame); m4af_set_fixed_frame_duration(m4af, 0, framelen >> scale_shift);
View file
fdkaac-1.0.0.tar.gz/src/pcm_sint16_converter.c -> fdkaac-1.0.2.tar.gz/src/pcm_sint16_converter.c
Changed
@@ -10,6 +10,8 @@ #if HAVE_STDINT_H # include <stdint.h> #endif +#include <assert.h> +#include <fdk-aac/aacenc_lib.h> #include "pcm_reader.h" typedef struct pcm_sint16_converter_t { @@ -57,12 +59,18 @@ count = nframes * sfmt->channels_per_frame; if (PCM_IS_FLOAT(sfmt)) { float *ip = self->pivot; - int16_t *op = buffer; + INT_PCM *op = buffer; +#if SAMPLE_BITS == 16 for (i = 0; i < count; ++i) - opi = pcm_clip(ipi * 32768.0, -32768.0, 32767.0); + opi = (int16_t)pcm_clip(ipi * 32768.0, -32768.0, 32767.0); +#else + for (i = 0; i < count; ++i) + opi = (int32_t)pcm_clip(ipi * 2147483648.0, -2147483648.0, 2147483647.0); +#endif } else { int32_t *ip = self->pivot; - int16_t *op = buffer; + INT_PCM *op = buffer; +#if SAMPLE_BITS == 16 if (sfmt->bits_per_channel <= 16) { for (i = 0; i < count; ++i) opi = ipi >> 16; @@ -72,6 +80,10 @@ opi = (n == 0x8000) ? 0x7fff : n; } } +#else + for (i = 0; i < count; ++i) + opi = ipi; +#endif } return nframes; } @@ -94,14 +106,16 @@ pcm_sint16_converter_t *self = 0; pcm_sample_description_t *fmt; + assert((SAMPLE_BITS>>3) == sizeof(INT_PCM)); + if ((self = calloc(1, sizeof(pcm_sint16_converter_t))) == 0) return 0; self->src = reader; self->vtbl = &my_vtable; memcpy(&self->format, pcm_get_format(reader), sizeof(self->format)); fmt = &self->format; - fmt->bits_per_channel = 16; + fmt->bits_per_channel = SAMPLE_BITS; fmt->sample_type = PCM_TYPE_SINT; - fmt->bytes_per_frame = 2 * fmt->channels_per_frame; + fmt->bytes_per_frame = sizeof(INT_PCM) * fmt->channels_per_frame; return (pcm_reader_t *)self; }
View file
fdkaac-1.0.0.tar.gz/version.h -> fdkaac-1.0.2.tar.gz/version.h
Changed
@@ -1,4 +1,4 @@ #ifndef VERSION_H #define VERSION_H -const char *fdkaac_version = "1.0.0"; +const char *fdkaac_version = "1.0.2"; #endif
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.