diff --git a/include/License.htm b/include/License.htm
index 1090056..1804516 100644
--- a/include/License.htm
+++ b/include/License.htm
@@ -27,7 +27,7 @@
@@ -39,7 +39,7 @@
Liability and Patent Disclaimer
THIS SOFTWARE IS PROVIDED BY THE LICENSOR AND THE CONTRIBUTORS «AS IS» AND ANY EXPRESS OR IMPLIED WARRANTIES (INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE) ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
[This Software may be subject to other third-party and/or contributor rights, including patent rights. In particular, this Software may implement methods and/or technologies required to perform in compliance with certain specifications of the ISO/IEC (MPEG-D) international standard 23003-3, which may be subject to said other rights. NO express or implied licenses to any patent claims related to the use of this Software are granted under this license, and the Licensor provides NO WARRANTY of patent non-infringement with respect to this Software. Patent licenses required for the use of this Software to generate digital bit-streams according to any specifications of ISO/IEC 23003-3 may be obtained through Via Licensing and/or the corresponding patent holders individually.]
-Written by C. R. Helmrich for exhale 1.0.0, Dec. 2019. Available at www.ecodis.de/exhale/license.htm.
+Written by C. R. Helmrich for exhale 1.0.0, Jan. 2020. Available at www.ecodis.de/exhale/license.htm.
diff --git a/include/Release.htm b/include/Release.htm
index c4746f4..7dd9b01 100644
--- a/include/Release.htm
+++ b/include/Release.htm
@@ -30,6 +30,8 @@
Version 1.0.0 Jan. 2020, this release
compilation fixes and executable printout changes for Linux and MacOS™ platform
+ exhaleApp: fixed reading of WAVE files including metadata after the «data» chunk
+ exhaleLib: some tuning of transform and noise level detection for transient signals
Version 1.0RC Dec. 2019
@@ -46,13 +48,14 @@
If you are in need of an additional library or application feature not mentioned below, please contact ecodis or a contributor with a request, and we will see what we can do.
support for MPEG-D DRC-style peak-level and loudness metadata, no version plan
- support for compilation as dynamically linked library in Windows™, no version plan
+ support for compiling as dynamically linked library on Windows™, no version plan
+ support for coding with a core coder frame length of 768 samples, no version plan
exhaleLib: quality tuning and bug fixing for low-bitrate mono coding, version 1.0.1
exhaleLib: finalized integration of joint-channel coding functionality, version 1.0.2
exhaleLib: quality tuning and bug fixing for low-rate stereo coding, version 1.0.3.
-Written by C. R. Helmrich for exhale 1.0.0, Dec. 2019. Available at www.ecodis.de/exhale/release.htm.
+Written by C. R. Helmrich for exhale 1.0.0, Jan. 2020. Available at www.ecodis.de/exhale/release.htm.
|
diff --git a/src/app/exhaleApp.cpp b/src/app/exhaleApp.cpp
index 329d7b6..80b5562 100644
--- a/src/app/exhaleApp.cpp
+++ b/src/app/exhaleApp.cpp
@@ -232,7 +232,7 @@ int main (const int argc, char* argv[])
#if defined (_WIN32) || defined (WIN32) || defined (_WIN64) || defined (WIN64)
if (_sopen_s (&inFileHandle, inFileName, _O_RDONLY | _O_SEQUENTIAL | _O_BINARY, _SH_DENYWR, _S_IREAD) != 0)
#else // Linux, MacOS, Unix
- if ((inFileHandle = ::open (inFileName, O_RDONLY | O_LARGEFILE, 0666)) == -1)
+ if ((inFileHandle = ::open (inFileName, O_RDONLY, 0666)) == -1)
#endif
{
fprintf_s (stderr, " ERROR while trying to open input file %s! Does it already exist?\n\n", inFileName);
@@ -302,7 +302,7 @@ int main (const int argc, char* argv[])
#if defined (_WIN32) || defined (WIN32) || defined (_WIN64) || defined (WIN64)
if (_sopen_s (&outFileHandle, outFileName, i | _O_SEQUENTIAL | _O_CREAT | _O_EXCL | _O_BINARY, _SH_DENYRD, _S_IWRITE) != 0)
#else // Linux, MacOS, Unix
- if ((outFileHandle = ::open (outFileName, i | O_LARGEFILE | O_CREAT | O_EXCL, 0666)) == -1)
+ if ((outFileHandle = ::open (outFileName, i | O_CREAT | O_EXCL, 0666)) == -1)
#endif
{
fprintf_s (stderr, " ERROR while trying to open output file %s! Does it already exist?\n\n", outFileName);
@@ -518,7 +518,7 @@ int main (const int argc, char* argv[])
i = 0; // no errors
if (!readStdin && (actualLength != expectLength || bw != headerRes))
{
- fprintf_s (stderr, " WARNING: %ld sample frames read but %ld sample frames expected!\n", actualLength, expectLength);
+ fprintf_s (stderr, " WARNING: %lld sample frames read but %lld sample frames expected!\n", (long long) actualLength, (long long) expectLength);
if (bw != headerRes) fprintf_s (stderr, " The encoded MPEG-4 bit-stream is likely to be unreadable!\n");
fprintf_s (stderr, "\n");
}
diff --git a/src/lib/bitStreamWriter.h b/src/lib/bitStreamWriter.h
index b34f1ce..9ede39d 100644
--- a/src/lib/bitStreamWriter.h
+++ b/src/lib/bitStreamWriter.h
@@ -68,7 +68,7 @@ public:
#if !RESTRICT_TO_AAC
const bool* const tw_mdct /*N/A*/, const bool* const noiseFilling,
#endif
- unsigned char* const audioFrame, const unsigned nSamplesInFrame = 1024);
+ unsigned char* const accessUnit, const unsigned nSamplesInFrame = 1024);
}; // BitStreamWriter
#endif // _BIT_STREAM_WRITER_H_
diff --git a/src/makefile.base b/src/makefile.base
index c122627..56ff5e0 100644
--- a/src/makefile.base
+++ b/src/makefile.base
@@ -8,29 +8,20 @@
# Copyright (c) 2018-2020 Christian R. Helmrich, project ecodis. All rights reserved.
##
-#########################################################
-# check CONFIG parameter
-#########################################################
-
+## verification of config parameter
ifneq ($(CONFIG), CONSOLE)
ifneq ($(CONFIG), LIBRARY)
CONFIG_ERR = TRUE
endif
endif
-#########################################################
-# executables used
-#########################################################
-
+# specification of used executables
AR = ar
ASM = nasm
CPP = g++
LD = $(CPP)
-#########################################################
-# output file names and version information
-#########################################################
-
+# location and name of output files
ifeq ($(CONFIG), CONSOLE)
STAT_DEBUG_OUT = $(DIR_BIN)/$(PRD_NAME)d
STAT_RELEASE_OUT = $(DIR_BIN)/$(PRD_NAME)
@@ -45,92 +36,48 @@ else
endif
endif
-#########################################################
-# c compiler flags
-#########################################################
+# type of debug and release objects
+DEBUG_OBJS = $(OBJS:.o=.d.o)
+RELEASE_OBJS = $(OBJS:.o=.r.o)
-# default cpp flags for all configurations
-#CPPFLAGS = -Wall -fPIC $(DEFS) -I$(CURDIR)/$(DIR_INC)
-CPPFLAGS = -fPIC $(DEFS) -I$(CURDIR)/$(DIR_INC) -Wall -Wshadow -Wno-sign-compare -Werror -D_FILE_OFFSET_BITS=64
-##########
-# enforce 32-bit build : 1=yes, 0=no
-##########
-M32?= 0
-ifeq ($(M32),1)
-CPPFLAGS+=-m32
+## specification of compiler flags
+CPPFLAGS = -fPIC $(DEFS) -I$(CURDIR)/$(DIR_INC) -Wall -Werror -Wno-sign-compare -Wshadow -D_FILE_OFFSET_BITS=64
+
+# setting of 32-bit compiler flags
+MM32?=0
+ifeq ($(MM32), 1)
+ CPPFLAGS+=-m32
endif
-##########
-#
-# debug cpp flags
+# debug and release compiler flags
DEBUG_CPPFLAGS = -g -D_DEBUG
-#
-# release cpp
-RELEASE_CPPFLAGS = -O3 -Wuninitialized
+RELEASE_CPPFLAGS = -O3 -Wuninitialized
-#########################################################
-# linker flags
-#########################################################
-
-# linker flags for all
+## specification of linker flags
ALL_LDFLAGS = -Wall
-##########
-# enforce 32-bit build : 1=yes, 0=no
-##########
-ifeq ($(M32),1)
-ALL_LDFLAGS+=-m32
+# setting of 32-bit linker flags
+ifeq ($(MM32), 1)
+ ALL_LDFLAGS+=-m32
endif
-##########
-
-ifeq ($(CONFIG), LIBRARY)
-# linker flags for library
-# LDFLAGS = $(ALL_LDFLAGS) -shared -Wl,-Bsymbolic
-LDFLAGS = $(ALL_LDFLAGS) -shared
-#
-# debug linker flags for library
-DEBUG_LDFLAGS = -Wl,-soname,lib$(PRD_NAME)d.so
-#
-# release linker flags for library
-RELEASE_LDFLAGS = -Wl,-soname,lib$(PRD_NAME).so
-#
-else
+# debug and release linker flags
ifeq ($(CONFIG), CONSOLE)
-# linker flags for console
-LDFLAGS = $(ALL_LDFLAGS)
-#
-# debug linker flags for console
-DEBUG_LDFLAGS =
-#
-# release linker flags for console
-RELEASE_LDFLAGS =
-#
-endif
+ LDFLAGS = $(ALL_LDFLAGS)
+ DEBUG_LDFLAGS =
+ RELEASE_LDFLAGS =
+else
+ ifeq ($(CONFIG), LIBRARY)
+ LDFLAGS = $(ALL_LDFLAGS) -shared
+ DEBUG_LDFLAGS = -Wl, -soname, lib$(PRD_NAME)Dynd.so
+ RELEASE_LDFLAGS = -Wl, -soname, lib$(PRD_NAME)Dyn.so
+ endif
endif
-
-#########################################################
-# objects that have to be created
-#########################################################
-
-# the object types that have to be created
-RELEASE_OBJS = $(OBJS:.o=.r.o)
-DEBUG_OBJS = $(OBJS:.o=.d.o)
-
-
-#########################################################
-# rules
-#########################################################
-
-# suffixes
-.SUFFIXES: .asm .cpp .d.o .r.o
-
-
-## specification of assembler rules
+## specification of assembler flags
ASMFLAGS = -f elf $(DEFS)
DEBUG_ASMFLAGS = -g
RELEASE_ASMFLAGS =
@@ -144,7 +91,7 @@ $(DIR_OBJ)/%.r.o: $(DIR_SRC)/%.asm
$(ASM) $(ASMFLAGS) $(RELEASE_ASMFLAGS) -o $@ $<
-## specification of C and C++ rules
+## specification of C and C++ flags
define COMPILE_AND_DEPEND_DEBUG
$(CPP) -c -MMD -MF $(DIR_OBJ)/$*.d.d -MT $(DIR_OBJ)/$*.d.o $(CPPFLAGS) $(DEBUG_CPPFLAGS) -o $@ $(CURDIR)/$<
@cp $(DIR_OBJ)/$*.d.d $(DIR_OBJ)/$*.d.p; \
@@ -229,65 +176,34 @@ $(DIR_LIB):
## creation of binary output files
-ifeq ($(CONFIG), LIBRARY)
-#
-# create static debug out
-$(STAT_DEBUG_OUT): $(DEBUG_OBJS)
- $(AR) -crs $@ $(DEBUG_OBJS)
-#
-#
-# create release debug out
-$(STAT_RELEASE_OUT): $(RELEASE_OBJS)
- $(AR) -crs $@ $(RELEASE_OBJS)
-#
-#
-# create dynamic debug out
-$(DYN_DEBUG_OUT): $(DYN_DEBUG_OUT)
- ln -fs lib$(PRD_NAME)d.so $@
-#
-# create dynamic debug out
-$(DYN_DEBUG_OUT): $(DEBUG_OBJS)
- $(LD) $(LDFLAGS) $(DEBUG_LDFLAGS) -o $@ $(DEBUG_OBJS) -L$(DIR_LIB) $(LIBS) $(DYN_LIBS) $(DYN_DEBUG_LIBS)
-#
-#
-# create dynamic release out
-$(DYN_RELEASE_OUT): $(DYN_RELEASE_OUT)
- ln -fs lib$(PRD_NAME).so $@
-#
-# create dynamic release out
-$(DYN_RELEASE_OUT): $(RELEASE_OBJS)
- $(LD) $(LDFLAGS) $(RELEASE_LDFLAGS) -o $@ $(RELEASE_OBJS) -L$(DIR_LIB) $(LIBS) $(DYN_LIBS) $(DYN_RELEASE_LIBS)
-#
-#
-#
-#
-#
-else
ifeq ($(CONFIG), CONSOLE)
-#
-# added linked libraries to target prerequisites - $(*_PREREQS) variables - to force relinking when libraries have been rebuilt
-#
-# create static debug out
+# creation of static debug output
$(STAT_DEBUG_OUT): $(DEBUG_OBJS) $(STAT_DEBUG_PREREQS)
$(LD) -o $@ $(LDFLAGS) $(DEBUG_LDFLAGS) $(DEBUG_OBJS) -L$(DIR_LIB) $(LIBS) $(STAT_LIBS) $(STAT_DEBUG_LIBS)
-#
-#
-# create static release out
+# creation of static release output
$(STAT_RELEASE_OUT): $(RELEASE_OBJS) $(STAT_RELEASE_PREREQS)
$(LD) -o $@ $(LDFLAGS) $(RELEASE_LDFLAGS) $(RELEASE_OBJS) -L$(DIR_LIB) $(LIBS) $(STAT_LIBS) $(STAT_RELEASE_LIBS)
-#
-#
-# create dynamic debug out
+# creation of dynamic debug output
$(DYN_DEBUG_OUT): $(DEBUG_OBJS) $(DYN_DEBUG_PREREQS)
$(LD) -o $@ $(LDFLAGS) $(DEBUG_LDFLAGS) $(DEBUG_OBJS) -L$(DIR_LIB) $(LIBS) $(DYN_LIBS) $(DYN_DEBUG_LIBS)
-#
-#
-# create dynamic release out
+# creation of dynamic release output
$(DYN_RELEASE_OUT): $(RELEASE_OBJS) $(DYN_RELEASE_PREREQS)
$(LD) -o $@ $(LDFLAGS) $(RELEASE_LDFLAGS) $(RELEASE_OBJS) -L$(DIR_LIB) $(LIBS) $(DYN_LIBS) $(DYN_RELEASE_LIBS)
-#
-#
-endif
+else
+ ifeq ($(CONFIG), LIBRARY)
+# creation of static debug output
+$(STAT_DEBUG_OUT): $(DEBUG_OBJS)
+ $(AR) -crs $@ $(DEBUG_OBJS)
+# creation of static release output
+$(STAT_RELEASE_OUT): $(RELEASE_OBJS)
+ $(AR) -crs $@ $(RELEASE_OBJS)
+# creation of dynamic debug output
+$(DYN_DEBUG_OUT): $(DYN_DEBUG_OUT)
+ ln -fs lib$(PRD_NAME)Dynd.so $@
+# creation of dynamic release output
+$(DYN_RELEASE_OUT): $(DYN_RELEASE_OUT)
+ ln -fs lib$(PRD_NAME)Dyn.so $@
+ endif
endif
|