mirror of
https://gitlab.com/ecodis/exhale.git
synced 2025-01-23 20:20:52 +01:00
editorial changes
This commit is contained in:
parent
3b14599078
commit
4aa2845972
@ -27,7 +27,7 @@
|
||||
<h1><br><span class="pink">exhale</span> - <span class="pink">e</span>codis e<span class="pink">x</span>tended <span class="pink">h</span>igh-efficiency <span class="pink">a</span>nd <span class="pink">l</span>ow-complexity <span class="pink">e</span>ncoder<br><span class="gray"><sup><br>referred to as «Software» below; additions to original BSD license text marked by [ ]</sup></span><br><br></h1>
|
||||
<h3> This Software is being made available and/or distributed under the following Modified <a href="http://www.linfo.org/bsdlicense.html">BSD</a>-style License. For a list of authors which have contributed to this Software, called «contributors» in the text below, please refer to the respective files provided with this distribution (source files or binary executable) to which modifications were contributed.</h3>
|
||||
<h3><br><b>Licensor's Copyright Notice</b></h3>
|
||||
<h3> Copyright © 2018–2019 Christian R. Helmrich, <a href="http://www.ecodis.de">ecodis</a> (Licensor). All rights reserved.</h3>
|
||||
<h3> Copyright © 2018–2020 Christian R. Helmrich, <a href="http://www.ecodis.de">ecodis</a> (Licensor). All rights reserved.</h3>
|
||||
<h3><br><b>List of License Conditions</b></h3>
|
||||
<h3> Redistribution and use <span class="gray">[</span>of this Software<span class="gray">]</span> in source and binary forms, with or without modification, are permitted provided that<sub> </sub><span class="gray">[</span>all of<span class="gray">]</span><sub> </sub>the following<sub> </sub><span class="gray">[</span>four<span class="gray">]</span><sub> </sub>conditions are met:</h3>
|
||||
<ul>
|
||||
@ -39,7 +39,7 @@
|
||||
<h3><br><b>Liability and Patent Disclaimer</b></h3>
|
||||
<h3> THIS SOFTWARE IS PROVIDED BY THE LICENSOR AND THE CONTRIBUTORS «<b>AS IS</b>» AND ANY EXPRESS OR IMPLIED WARRANTIES (INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PUR­POSE) 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.</h3>
|
||||
<h3> <span class="gray">[</span>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 <a href="https://www.iso.org/standard/76385.html">23003-3</a>, 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 <a href="https://www.via-corp.com/licensing/aac/">Via Licensing</a> and/or the corresponding patent holders individually.<span class="gray">]</span><br><br></h3>
|
||||
<h4><span class="gray">Written by C. R. Helmrich for exhale 1.0.0, Dec. 2019. Available at www.ecodis.de/exhale/license.htm.</span><br><br></h4>
|
||||
<h4><span class="gray">Written by C. R. Helmrich for exhale 1.0.0, Jan. 2020. Available at www.ecodis.de/exhale/license.htm.</span><br><br></h4>
|
||||
|
||||
</td>
|
||||
<td valign="top" colspan="2">
|
||||
|
@ -30,6 +30,8 @@
|
||||
<h3> Version <b>1.0.0 <span class="gray"> Jan. 2020, this release</span></b></h3>
|
||||
<ul>
|
||||
<li><h3>compilation fixes and executable printout changes for Linux and MacOS™ platform</h3></li>
|
||||
<li><h3>exhaleApp: fixed reading of WAVE files including metadata after the «data» chunk</h3></li>
|
||||
<li><h3>exhaleLib: some tuning of transform and noise level detection for transient signals</h3></li>
|
||||
</ul>
|
||||
<h3> Version <b>1.0RC <span class="gray">Dec. 2019</span></b></h3>
|
||||
<ul>
|
||||
@ -46,13 +48,14 @@
|
||||
<h3> If you are in need of an additional library or application feature <b>not</b> mentioned below, please contact ecodis or a contributor with a request, and we will see what we can do.</h3>
|
||||
<ul>
|
||||
<li><h3>support for MPEG-D DRC-style peak-level and loudness metadata, no version plan</h3></li>
|
||||
<li><h3>support for compilation as dynamically linked library in Windows™, no version plan</h3></li>
|
||||
<li><h3>support for compiling as dynamically linked library on Windows™, no version plan</h3></li>
|
||||
<li><h3>support for coding with a core coder frame length of 768 samples, no version plan</h3></li>
|
||||
<li><h3>exhaleLib: quality tuning and bug fixing for low-bitrate mono coding, version 1.0.1</h3></li>
|
||||
<li><h3>exhaleLib: finalized integration of joint-channel coding functionality, version 1.0.2</h3></li>
|
||||
<li><h3>exhaleLib: quality tuning and bug fixing for low-rate stereo coding, version 1.0.3.</h3></li>
|
||||
</ul>
|
||||
<h3><br></h3>
|
||||
<h4><span class="gray">Written by C. R. Helmrich for exhale 1.0.0, Dec. 2019. Available at www.ecodis.de/exhale/release.htm.</span><br><br></h4>
|
||||
<h4><span class="gray">Written by C. R. Helmrich for exhale 1.0.0, Jan. 2020. Available at www.ecodis.de/exhale/release.htm.</span><br><br></h4>
|
||||
|
||||
</td>
|
||||
<td valign="top" colspan="2">
|
||||
|
@ -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");
|
||||
}
|
||||
|
@ -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_
|
||||
|
@ -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
|
||||
|
||||
|
||||
#########################################################
|
||||
# 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
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user