Merge branch 'develop'

# Conflicts:
#	README.md
#	chipset/zephyr/nrf5340_dongle/README.md
#	port/libusb/README.md
#	src/hci_transport_h5.c
This commit is contained in:
Matthias Ringwald 2024-12-20 16:26:26 +01:00
commit ceed67ffe6
442 changed files with 32211 additions and 10002 deletions

5
.gitignore vendored
View File

@ -8,7 +8,6 @@
*.pklg
*.fdb_latexmk
*.hex
*.a
*.dylib
*.bts
*.elf
@ -26,3 +25,7 @@ cmake-build-*
build
build-asan
build-coverage
.idea
.vs
.vscode
ninja

6
3rd-party/README.md vendored
View File

@ -5,13 +5,13 @@ This folder contains all third-party libraries used by BTstack. The following ta
Library | Version | License | Used | Notes
----------------------------------------------------------------------------------------------------------------|----------|---------------|------------------|----------
[Android SBC Codec](https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/master/embdrv/sbc) | e8c3d75b | Apache 2.0 | HFP WBS, A2DP | optimized audio codec
[hxcmod-player](https://github.com/jfdelnero/HxCModPlayer) | 03d495c8 | Public Domain | A2DP Source Demo | mod music player
[Google LC3 Codec](https://github.com/google/liblc3.git) | 311ca4c0 | Apache 2.0 | LE Audio | audio codec
[hxcmod-player](https://github.com/jfdelnero/HxCModPlayer) | f57bc0fd | Public Domain | A2DP Source Demo | mod music player
[Google LC3 Codec](https://github.com/google/liblc3.git) | bb85f7dd | Apache 2.0 | LE Audio | audio codec
[lwIP](http://savannah.nongnu.org/projects/lwip/) | b3a93941 | BSD 3-Clause | PAN Demo | complete network stack
[md5](http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5) | 1.0 | Public Domain | PBAP | cryptographic hash function
[micro-ecc](https://github.com/kmackay/micro-ecc) | e4d264b5 | BSD 2-Clause | LE SC, Mesh | elliptic-curve library
[Rijndael Encryption Algorithm](http://www.efgh.com/software/rijndael.htm) | 20020903 | Public Domain | BTstack Crypto | optional AES128 software implementation
[segger-rtt](https://www.segger.com/products/debug-probes/j-link/technology/about-real-time-transfer/) | V786a | BSD 3-Clause | HCI PacketLog | high-speed logging with SEGGER J-Link debug probes (development)
[tinydir](https://github.com/cxong/tinydir) | 677733da | BSD 2-Clause | GAP Bonding | get a directory listing on POSIX + Windwows systems
[tinydir](https://github.com/cxong/tinydir) | 1.2.6 | BSD 2-Clause | GAP Bonding | get a directory listing on POSIX + Windwows systems
[Yxml](https://dev.yorhel.nl/yxml) | 10f968b0 | MIT | PBAP | minimal stream XML parser

File diff suppressed because it is too large Load Diff

View File

@ -12,32 +12,63 @@
// File : hxcmod.h
// Contains: a tiny mod player
//
// Written by: Jean François DEL NERO
// Written by: Jean Francois DEL NERO
//
// Change History (most recent first):
///////////////////////////////////////////////////////////////////////////////////
#ifndef __HXCMOD_H
#define __HXCMOD_H
#if defined __cplusplus
extern "C" {
#endif
#ifndef MODPLAY_DEF
#define MODPLAY_DEF
// Basic type
typedef unsigned char muchar;
typedef signed char mchar;
typedef unsigned short muint;
typedef short mint;
typedef unsigned long mulong;
#ifdef __cplusplus
extern "C" {
#endif
#ifndef HXCMOD_SLOW_TARGET
#define HXCMOD_STATE_REPORT_SUPPORT 1
#define HXCMOD_OUTPUT_FILTER 1
#define HXCMOD_OUTPUT_STEREO_MIX 1
#define HXCMOD_CLIPPING_CHECK 1
#endif
// Warning : The following option
// required 32KB of additional RAM :
// #define HXCMOD_USE_PRECALC_VOLUME_TABLE 1
// Basic type
typedef unsigned char muchar;
typedef signed char mchar;
typedef unsigned short muint;
typedef short mint;
typedef unsigned long mulong;
#ifdef HXCMOD_16BITS_TARGET
typedef unsigned short mssize;
#else
typedef unsigned long mssize;
#endif
#ifdef HXCMOD_8BITS_OUTPUT
#ifdef HXCMOD_UNSIGNED_OUTPUT
typedef unsigned char msample;
#else
typedef signed char msample;
#endif
#else
#ifdef HXCMOD_UNSIGNED_OUTPUT
typedef unsigned short msample;
#else
typedef signed short msample;
#endif
#endif
#ifdef HXCMOD_MAXCHANNELS
#define NUMMAXCHANNELS HXCMOD_MAXCHANNELS
#else
#define NUMMAXCHANNELS 32
#endif
#define NUMMAXCHANNELS 32
#define MAXNOTES 12*12
#define SAMPLE_RATE 44100
//
// MOD file structures
//
@ -77,18 +108,47 @@ typedef struct {
//
typedef struct {
mchar * sampdata;
muint sampnum;
muint length;
muint reppnt;
muint replen;
muchar sampnum;
mchar * nxt_sampdata;
muint nxt_length;
muint nxt_reppnt;
muint nxt_replen;
muchar update_nxt_repeat;
mchar * dly_sampdata;
muint dly_length;
muint dly_reppnt;
muint dly_replen;
muchar note_delay;
mchar * lst_sampdata;
muint lst_length;
muint lst_reppnt;
muint lst_replen;
muchar retrig_cnt;
muchar retrig_param;
muint funkoffset;
mint funkspeed;
mint glissando;
mulong samppos;
mulong sampinc;
muint period;
muchar volume;
mulong ticks;
#ifdef HXCMOD_USE_PRECALC_VOLUME_TABLE
mint * volume_table;
#endif
muchar effect;
muchar parameffect;
muint effect_code;
mulong last_set_offset;
mint decalperiod;
mint portaspeed;
@ -97,7 +157,6 @@ typedef struct {
mint Arpperiods[3];
muchar ArpIndex;
mint oldk;
muchar volumeslide;
muchar vibraparam;
@ -109,32 +168,45 @@ typedef struct {
muint patternloopcnt;
muint patternloopstartpoint;
} hxcmod_channel;
} hxcmod_channel_t;
typedef struct {
module song;
mchar * sampledata[31];
note * patterndata[128];
#ifdef HXCMOD_16BITS_TARGET
muint playrate;
#else
mulong playrate;
#endif
muint tablepos;
muint patternpos;
muint patterndelay;
muint jump_loop_effect;
muchar jump_loop_effect;
muchar bpm;
#ifdef HXCMOD_16BITS_TARGET
muint patternticks;
muint patterntickse;
muint patternticksaim;
muint patternticksem;
muint tick_cnt;
#else
mulong patternticks;
mulong patterntickse;
mulong patternticksaim;
mulong patternticksem;
mulong tick_cnt;
#endif
mulong sampleticksconst;
mulong samplenb;
hxcmod_channel channels[NUMMAXCHANNELS];
hxcmod_channel_t channels[NUMMAXCHANNELS];
muint number_of_channels;
muint fullperiod[MAXNOTES * 8];
muint mod_loaded;
mint last_r_sample;
@ -145,6 +217,15 @@ typedef struct {
mint bits;
mint filter;
#ifdef EFFECTS_USAGE_STATE
int effects_event_counts[32];
#endif
#ifdef HXCMOD_USE_PRECALC_VOLUME_TABLE
mint precalc_volume_array[65*256];
mint * volume_selection_table[65];
#endif
} modcontext;
//
@ -168,7 +249,7 @@ typedef struct tracker_state_
int cur_pattern_pos;
int cur_pattern_table_pos;
unsigned int buf_index;
track_state tracks[32];
track_state tracks[NUMMAXCHANNELS];
}tracker_state;
typedef struct tracker_state_instrument_
@ -201,7 +282,7 @@ typedef struct tracker_buffer_state_
// - "Load" a MOD from memory (from "mod_data" with size "mod_data_size").
// Return 1 if success. 0 in case of error.
// -------------------------------------------
// void hxcmod_fillbuffer( modcontext * modctx, unsigned short * outbuffer, unsigned long nbsample, tracker_buffer_state * trkbuf )
// void hxcmod_fillbuffer( modcontext * modctx, unsigned short * outbuffer, mssize nbsample, tracker_buffer_state * trkbuf )
//
// - Generate and return the next samples chunk to outbuffer.
// nbsample specify the number of stereo 16bits samples you want.
@ -210,21 +291,19 @@ typedef struct tracker_buffer_state_
// The optional trkbuf parameter can be used to get detailed status of the player. Put NULL/0 is unused.
// -------------------------------------------
// void hxcmod_unload( modcontext * modctx )
//
// - "Unload" / clear the player status.
// -------------------------------------------
///////////////////////////////////////////////////////////////////////////////////
int hxcmod_init( modcontext * modctx );
int hxcmod_setcfg( modcontext * modctx, int samplerate, int bits, int stereo, int stereo_separation, int filter);
int hxcmod_setcfg( modcontext * modctx, int samplerate, int stereo_separation, int filter );
int hxcmod_load( modcontext * modctx, void * mod_data, int mod_data_size );
void hxcmod_fillbuffer( modcontext * modctx, unsigned short * outbuffer, unsigned long nbsample, tracker_buffer_state * trkbuf );
void hxcmod_fillbuffer( modcontext * modctx, msample * outbuffer, mssize nbsample, tracker_buffer_state * trkbuf );
void hxcmod_unload( modcontext * modctx );
#endif
#if defined __cplusplus
#ifdef __cplusplus
}
#endif
#endif // __HXCMOD_H
#endif /* MODPLAY_DEF */

View File

@ -42,9 +42,16 @@ with others browsers supporting the Web Audio API support.
You can test it at this address : http://hxc2001.free.fr/hxcmod/
A video demo of the native Mod player can be seen on youtube :
The native Mod player demonstration video is available on youtube :
https://www.youtube.com/watch?v=MEU9FGZzjac
Another video showing the player working on a STM32F105 microcontroller based device :
https://www.youtube.com/watch?v=kiOT8-zWVkA
Another case, this time with an STM32 microcontroller without DAC hardware.
The firmware implements a 1 bit delta sigma / PDM stream generator :
https://www.youtube.com/watch?v=AQ--IiXPUGA
--------------------------------------------------------------------------------------
HxCMOD Core API
--------------------------------------------------------------------------------------
@ -54,12 +61,10 @@ int hxcmod_init( modcontext * modctx )
- Initialize the modcontext buffer. Must be called before doing anything else.
Return 1 if success. 0 in case of error.
int hxcmod_setcfg( modcontext * modctx, int samplerate, int bits, int stereo, int stereo_separation, int filter);
int hxcmod_setcfg( modcontext * modctx, int samplerate, int stereo_separation, int filter);
- Configure the player :
samplerate specify the sample rate. (44100 by default).
bits specify the number of bits (16 bits only for the moment).
stereo - if non null, the stereo mode is selected (default)
stereo_separation - Left/Right channel separation.
filter - if non null, the filter is applied (default)
@ -73,15 +78,29 @@ void hxcmod_fillbuffer( modcontext * modctx, unsigned short * outbuffer, unsigne
- Generate and return the next samples chunk to outbuffer.
nbsample specify the number of stereo 16bits samples you want.
The output format is signed 44100Hz 16-bit Stereo PCM samples.
The output buffer size in byte must be equal to ( nbsample * 2 * 2 ).
The default output format is signed 44100Hz 16-bit Stereo PCM samples.
The output format can be changed with the C flags HXCMOD_MONO_OUTPUT, HXCMOD_8BITS_OUTPUT and HXCMOD_UNSIGNED_OUTPUT.
The output buffer size in byte must be equal to ( nbsample * sample_size * (mono=1 or stereo=2) ).
The optional trkbuf parameter can be used to get detailed status of the player. Put NULL/0 if unused.
void hxcmod_unload( modcontext * modctx )
- "Unload" / clear the player status.
Compile-time C defines options :
HXCMOD_MONO_OUTPUT : Turn the output format in mono mode.
HXCMOD_8BITS_OUTPUT : Set the output wave format in 8bits.
HXCMOD_UNSIGNED_OUTPUT : Set the output wave format unsigned.
HXCMOD_MAXCHANNELS : Set the maximum supported channels (default : 32).
Reduce it to gain some RAM space.
Increase it if you want to support some specials mods
(up to 999).
HXCMOD_BIGENDIAN_MACHINE : The target machine is big endian.
HXCMOD_SLOW_TARGET : For slow targets : Disable stereo mixing and output filter.
HXCMOD_USE_PRECALC_VOLUME_TABLE : Use precalculated volume table for the mixing.
suppress the multiply operations for slow targets.
The table need 32KB of RAM.
--------------------------------------------------------------------------------------
Files on the repository
--------------------------------------------------------------------------------------
@ -101,6 +120,9 @@ The Windows test software.
- js_emscripten/
The Web browser/JavaScript version. (Build with Emscripten)
- STM32/
STM32 microcontroller / "Gotek" demo.
- packer/
Data compression utility. Used to embed one mod and some graphical stuff into the executable.
Not directly used by the core.

28
3rd-party/lc3-google/CONTRIBUTING.md vendored Normal file
View File

@ -0,0 +1,28 @@
# How to Contribute
We'd love to accept your patches and contributions to this project. There are
just a few small guidelines you need to follow.
## Contributor License Agreement
Contributions to this project must be accompanied by a Contributor License
Agreement. You (or your employer) retain the copyright to your contribution;
this simply gives us permission to use and redistribute your contributions as
part of the project. Head over to <https://cla.developers.google.com/> to see
your current agreements on file or to sign a new one.
You generally only need to submit a CLA once, so if you've already submitted one
(even if it was for a different project), you probably don't need to do it
again.
## Code Reviews
All submissions, including submissions by project members, require review. We
use GitHub pull requests for this purpose. Consult
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
information on using pull requests.
## Community Guidelines
This project follows [Google's Open Source Community
Guidelines](https://opensource.google/conduct/).

202
3rd-party/lc3-google/LICENSE vendored Normal file
View File

@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

173
3rd-party/lc3-google/Makefile vendored Normal file
View File

@ -0,0 +1,173 @@
#
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
V ?= @
BUILD_DIR := build
BIN_DIR := bin
#
# Set `gcc` as default compiler
#
CC := $(if $(CC)=cc,gcc,$(CC))
AS := $(if $(AS)=as,$(CC),$(AS))
LD := $(if $(LD)=ld,$(CC),$(LD))
CFLAGS := $(if $(DEBUG),-O0 -g,-O3)
LDFLAGS := $(if $(DEBUG),-O0 -g,-O3)
CFLAGS += -std=c11 -Wall -Wextra -Wdouble-promotion -Wvla -pedantic
TARGET = $(lastword $(shell $(CC) -v 2>&1 | grep "Target: "))
LIB_SHARED := true
LIB_SUFFIX := so
ifeq ($(TARGET),wasm32)
LIB_SHARED := false
LIB_SUFFIX := wasm
CFLAGS += -Iwasm -mbulk-memory
LDFLAGS += -nostdlib -Wl,--no-entry -Wl,--export-dynamic
endif
ifneq ($(LC3_PLUS),)
DEFINE += LC3_PLUS=$(LC3_PLUS)
endif
ifneq ($(LC3_PLUS_HR),)
DEFINE += LC3_PLUS_HR=$(LC3_PLUS_HR)
endif
#
# Declarations
#
lib_list :=
bin_list :=
define add-lib
$(eval $(1)_bin ?= $(1).$(LIB_SUFFIX))
$(eval $(1)_bin := $(addprefix $(BIN_DIR)/,$($(1)_bin)))
lib_list += $(1)
LIB += $($(1)_bin)
endef
define add-bin
$(eval $(1)_bin ?= $(1))
$(eval $(1)_bin := $(addprefix $(BIN_DIR)/,$($(1)_bin)))
$($(1)_bin): LDLIBS += $(if $(filter $(LIBC),bionic),\
$(filter-out rt pthread,$($(1)_ldlibs)),$($(1)_ldlibs))
$($(1)_bin): LDFLAGS += $($(1)_ldflags)
bin_list += $(1)
BIN += $($(1)_bin)
endef
define set-target
$(eval $(1)_obj ?= $(patsubst %.c,%.o,$(filter %.c,$($(1)_src))) \
$(patsubst %.s,%.o,$(filter %.s,$($(1)_src))) \
$(patsubst %.cc,%.o,$(filter %.cc,$($(1)_src))))
$(eval $(1)_obj := $(addprefix $(BUILD_DIR)/,$($(1)_obj)))
$($(1)_obj): INCLUDE += $($(1)_include)
$($(1)_obj): DEFINE += $($(1)_define)
$($(1)_obj): CFLAGS += $($(1)_cflags)
$($(1)_obj): CXXFLAGS += $($(1)_cxxflags)
-include $($(1)_obj:.o=.d)
$($(1)_bin): $($(1)_obj)
$($(1)_bin): $($(1)_dependencies)
.PHONY: $(1)
$(1): $($(1)_bin)
endef
.PHONY: default
default:
INCLUDE += include
SRC_DIR = src
include $(SRC_DIR)/makefile.mk
TOOLS_DIR = tools
-include $(TOOLS_DIR)/makefile.mk
TEST_DIR := test
-include $(TEST_DIR)/makefile.mk
FUZZ_DIR := fuzz
-include $(FUZZ_DIR)/makefile.mk
#
# Rules
#
MAKEFILE_DEPS := $(MAKEFILE_LIST)
$(foreach lib, $(lib_list), $(eval $(call set-target,$(lib))))
$(foreach bin, $(bin_list), $(eval $(call set-target,$(bin))))
$(BUILD_DIR)/%.o: %.c $(MAKEFILE_DEPS)
@echo " CC $(notdir $<)"
$(V)mkdir -p $(dir $@)
$(V)$(CC) $< -c $(CFLAGS) \
$(addprefix -I,$(INCLUDE)) \
$(addprefix -D,$(DEFINE)) -MMD -MF $(@:.o=.d) -o $@
$(BUILD_DIR)/%.o: %.s $(MAKEFILE_DEPS)
@echo " AS $(notdir $<)"
$(V)mkdir -p $(dir $@)
$(V)$(AS) $< -c $(CFLAGS) \
$(addprefix -I,$(INCLUDE)) \
$(addprefix -D,$(DEFINE)) -MMD -MF $(@:.o=.d) -o $@
$(BUILD_DIR)/%.o: %.cc $(MAKEFILE_DEPS)
@echo " CXX $(notdir $<)"
$(V)mkdir -p $(dir $@)
$(V)$(CXX) $< -c $(CXXFLAGS) \
$(addprefix -I,$(INCLUDE)) \
$(addprefix -D,$(DEFINE)) -MMD -MF $(@:.o=.d) -o $@
ifeq ($(LIB_SHARED),true)
$(LIB): CFLAGS += -fvisibility=hidden -flto -fPIC
$(LIB): LDFLAGS += -flto -shared
endif
$(LIB): $(MAKEFILE_DEPS)
@echo " LD $(notdir $@)"
$(V)mkdir -p $(dir $@)
$(V)$(LD) $(filter %.o,$^) $(LDFLAGS) -o $@
$(BIN): $(MAKEFILE_DEPS)
@echo " LD $(notdir $@)"
$(V)mkdir -p $(dir $@)
$(V)$(LD) $(filter %.o,$^) \
$(LDFLAGS) -L $(BIN_DIR) $(addprefix -l,$(LDLIBS)) -o $@
clean:
$(V)rm -rf $(BUILD_DIR)
$(V)rm -rf $(BIN_DIR)
clean-all: clean

View File

@ -1,8 +1,15 @@
# Low Complexity Communication Codec (LC3)
The LC3 is an efficient low latency audio codec.
LC3 and LC3 Plus are audio codecs designed for low-latency audio transport.
[_Low Complexity Communication Codec_](https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=502107&vId=542963)
- LC3 is specified by [_the Bluetooth Special Interset Group for the LE Audio
protocol_](https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=502107&vId=542963)
- LC3 Plus is defined by [_ETSI TS 103 634_](https://www.etsi.org/deliver/etsi_ts/103600_103699/103634/01.04.01_60/ts_103634v010401p.pdf)
In addition to LC3, following features of LC3 Plus are proposed:
- Frame duration of 2.5 and 5ms.
- High-Resolution mode, 48 KHz, and 96 kHz sampling rates.
## Overview
@ -10,7 +17,9 @@ The directory layout is as follows :
- include: Library interface
- src: Source files
- tools: Standalone encoder/decoder tools
- test: Python implentation, used as reference for unit testing
- python: Python wrapper
- test: Unit testing framework
- fuzz: Roundtrip fuzz testing harness
- build: Building outputs
- bin: Compilation output
@ -22,7 +31,17 @@ The default toolchain used is GCC. Invoke `make` to build the library.
$ make -j
```
Compiled library `liblc3.a` will be found in `bin` directory.
Compiled library `liblc3.so` will be found in `bin` directory.
LC3 Plus features can be selectively disabled :
- `LC3_PLUS=0` disable the support of 2.5ms and 5ms frame durations.
- `LC3_PLUS_HR=0` turns off the support of the High-Resolution mode.
Only Bluetooth LC3 features will be included using the following command:
```sh
$ make LC3_PLUS=0 LC3_PLUS_HR=0 -j
```
#### Cross compilation
@ -42,9 +61,23 @@ $ make -j CC=path_to_android_ndk_prebuilt/toolchain-prefix-clang LIBC=bionic
Compiled library will be found in `bin` directory.
#### Web Assembly (WASM)
Web assembly compilation is supported using LLVM WebAssembly backend.
Installation of LLVM compiler and linker is needed:
```sh
# apt install clang lld
```
The webasm object is compiled using:
```sh
$ make CC="clang --target=wasm32"
```
## Tools
Tools can be all compiled, while involking `make` as follows :
Tools can be all compiled, while invoking `make` as follows :
```sh
$ make tools
@ -63,20 +96,24 @@ file are omitted.
In such way you can easly test encoding / decoding loop with :
```sh
$ ./elc3 <in.wav> -b <bitrate> | ./dlc3 > <out.wav>
$ alias elc3="LD_LIBRARY_PATH=`pwd`/bin `pwd`/bin/elc3"
$ alias dlc3="LD_LIBRARY_PATH=`pwd`/bin `pwd`/bin/dlc3"
$ elc3 <in.wav> -b <bitrate> | dlc3 > <out.wav>
```
Adding Linux `aplay` tools, you will be able to instant hear the result :
```sh
$ ./elc3 <in.wav> -b <bitrate> | ./dlc3 | aplay
$ alias elc3="LD_LIBRARY_PATH=`pwd`/bin `pwd`/bin/elc3"
$ alias dlc3="LD_LIBRARY_PATH=`pwd`/bin `pwd`/bin/dlc3"
$ elc3 <in.wav> -b <bitrate> | dlc3 | aplay -D pipewire
```
## Test
A python implementation of the encoder is provided in `test` diretory.
The C implementation is unitary validated against this implementation and
intermediate values given in Appendix C of the specification.
intermediate values given in Appendix C of the LC3 specification.
#### Prerequisite
@ -91,28 +128,54 @@ $ pip3 install scipy numpy
$ make test
```
## Conformance
## Fuzzing
The proposed encoder and decoder implementation have been fully tested and
validated.
Roundtrip fuzz testing harness is available in `fuzz` directory.
LLVM `clang` and `clang++` compilers are needed to run fuzzing.
For more detail on conformance, refer to [_Bluetooth Conformance
Documents and scripts_](https://www.bluetooth.com/specifications/specs/low-complexity-communication-codec-1-0/)
The encoder and decoder fuzzers can be run, for 1 million iterations, using
target respectively `dfuzz` and `efuzz`. The `fuzz` target runs both.
```sh
$ make efuzz # Run encoder fuzzer for 1M iteration
$ make dfuzz # Run decoder fuzzer for 1M iteration
$ make fuzz -j # Run encoder and decoder fuzzers in parallel
```
## Qualification / Conformance
The implementation is qualified under the [_QDID 194161_](https://launchstudio.bluetooth.com/ListingDetails/160904) as part of Google Fluoride 1.5.
The conformance reports can be found [here](conformance/README.md)
## Listening Test
The codec was [_here_](https://hydrogenaud.io/index.php/topic,122575.0.html)
subjectively evaluated in a blind listening test.
## Meson build system
Meson build system is also available to build and install lc3 codec in Linux
environment.
```sh
$ meson build
$ cd build
$ ninja
$ sudo ninja install
$ meson setup build
$ cd build && meson install
```
## Python wrapper
A python wrapper, installed as follows, is available in the `python` directory.
```sh
$ python3 -m pip install .
```
Decoding and encoding tools are provided in `python/tools`, like C tools,
you can easly test encoding / decoding loop with :
```sh
$ python3 ./python/tools/encoder.py <in.wav> --bitrate <bitrate> | \
python3 ./python/tools/decoder.py > <out.wav>
```

View File

@ -0,0 +1,48 @@
# Conformance test reports
For more details on conformance, refer to:
- [_Bluetooth Conformance Documents and scripts_](https://www.bluetooth.com/specifications/specs/low-complexity-communication-codec-1-0/)
- [_ETSI TS 103 634 V1.4.1 - Section 7_](https://www.etsi.org/deliver/etsi_ts/103600_103699/103634/01.04.01_60/ts_103634v010401p.pdf)
The test reports are generated by:
- [_LC3 Test Software V1.0.7_](https://www.bluetooth.com/specifications/specs/low-complexity-communication-codec-1-0/)
- [_LC3 Plus ETSI Conformance Software V1.6.4_](https://www.etsi.org/deliver/etsi_ts/103600_103699/103634/01.03.01_60/ts_103634v010301p0.zip)
## LC3 Speech
* [Encoding 10ms](https://raw.githack.com/google/liblc3/main/conformance/speech_encode_10m.html)
* [Decoding 10ms](https://raw.githack.com/google/liblc3/main/conformance/speech_decode_10m.html)
* [Encoding + Decoding 10ms](https://raw.githack.com/google/liblc3/main/conformance/speech_encdec_10m.html)
<!-- -->
* [Encoding 7.5ms](https://raw.githack.com/google/liblc3/main/conformance/speech_encode_7m5.html)
* [Decoding 7.5ms](https://raw.githack.com/google/liblc3/main/conformance/speech_decode_7m5.html)
* [Encoding + Decoding 7.5ms](https://raw.githack.com/google/liblc3/main/conformance/speech_encdec_7m5.html)
## LC3 Music
* [Encoding 10ms](https://raw.githack.com/google/liblc3/main/conformance/music_encode_10m.html)
* [Decoding 10ms](https://raw.githack.com/google/liblc3/main/conformance/music_decode_10m.html)
* [Encoding + Decoding 10ms](https://raw.githack.com/google/liblc3/main/conformance/music_encdec_10m.html)
<!-- -->
* [Encoding 7.5ms](https://raw.githack.com/google/liblc3/main/conformance/music_encode_7m5.html)
* [Decoding 7.5ms](https://raw.githack.com/google/liblc3/main/conformance/music_decode_7m5.html)
* [Encoding + Decoding 7.5ms](https://raw.githack.com/google/liblc3/main/conformance/music_encdec_7m5.html)
## LC3 Plus
* [Encoding](https://raw.githack.com/google/liblc3/main/conformance/lc3plus_encode.html)
* [Decoding](https://raw.githack.com/google/liblc3/main/conformance/lc3plus_decode.html)
* [Encoding + Decoding](https://raw.githack.com/google/liblc3/main/conformance/lc3plus_encdec.html)
## LC3 Plus High-Resolution
* [Encoding](https://raw.githack.com/google/liblc3/main/conformance/lc3plus_hr_encode.html)
* [Decoding](https://raw.githack.com/google/liblc3/main/conformance/lc3plus_hr_decode.html)
* [Encoding + Decoding](https://raw.githack.com/google/liblc3/main/conformance/lc3plus_hr_encdec.html)
* [Fallback mode](https://raw.githack.com/google/liblc3/main/conformance/lc3plus_hr_fallback.html)
* [Precision Requirements](https://raw.githack.com/google/liblc3/main/conformance/lc3plus_hr_precision.html)

View File

@ -0,0 +1,232 @@
<!DOCTYPE html><head><meta charset="UTF-8"><title>DECODE Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px; width:100%} th {padding:4px; border-top:1px solid #8f908a} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn{background-color:rgba(214,137,16,0.4)} a:link {color: white;text-decoration: none;} a:visited {color: white} a:hover {color: white;font-weight:bold;} a:active {color: rgb(155, 155, 155)}</style></head>
<body><h2>Conformance for "DECODE" passed!</h2>
<div><h3>SQAM - 100%</h3>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>Max. Abs. Diff</th><th>RMS [dB]</th><th>RMS Reached [bits]</th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__10.0__8000__32000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>8000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__10.0__8000__32000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>8000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-134 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__8000__32000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>8000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__10.0__8000__32000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>8000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__10.0__8000__32000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>8000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__10.0__8000__32000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>8000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__10.0__8000__32000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>8000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__10.0__8000__32000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>8000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-133 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__10.0__8000__32000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>8000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__10.0__16000__32000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>16000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__10.0__16000__32000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>16000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__16000__32000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>16000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__10.0__16000__32000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>16000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__10.0__16000__32000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>16000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__10.0__16000__32000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>16000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__10.0__16000__32000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>16000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__10.0__16000__32000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>16000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__10.0__16000__32000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>16000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__10.0__32000__64000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>32000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__10.0__32000__128000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>32000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__10.0__32000__64000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>32000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__10.0__32000__128000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>32000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-132 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__32000__64000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>32000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__32000__128000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>32000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__10.0__32000__64000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__10.0__32000__128000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__10.0__32000__64000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>32000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__10.0__32000__128000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>32000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__10.0__32000__64000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>32000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__10.0__32000__128000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>32000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__10.0__32000__64000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>32000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__10.0__32000__128000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>32000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__10.0__32000__64000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>32000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__10.0__32000__128000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>32000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__10.0__32000__64000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>32000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__10.0__32000__128000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>32000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__10.0__48000__32000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__10.0__48000__64000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__10.0__48000__96000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>96000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__10.0__48000__128000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__10.0__48000__32000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-129 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__10.0__48000__64000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__10.0__48000__96000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>96000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-129 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__10.0__48000__128000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__48000__32000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__48000__64000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__48000__96000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>96000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__48000__128000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__10.0__48000__32000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__10.0__48000__64000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__10.0__48000__96000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>96000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__10.0__48000__128000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__10.0__48000__32000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__10.0__48000__64000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__10.0__48000__96000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>96000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__10.0__48000__128000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__10.0__48000__32000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__10.0__48000__64000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__10.0__48000__96000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>96000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__10.0__48000__128000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__10.0__48000__32000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__10.0__48000__64000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__10.0__48000__96000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>96000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__10.0__48000__128000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__10.0__48000__32000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__10.0__48000__64000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__10.0__48000__96000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>96000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__10.0__48000__128000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__10.0__48000__32000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__10.0__48000__64000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__10.0__48000__96000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>96000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__10.0__48000__128000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__5.0__48000__64000__0.txt">decode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__5.0__48000__128000__0.txt">decode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__5.0__48000__160000__0.txt">decode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>160000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__5.0__48000__192000__0.txt">decode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>192000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__5.0__48000__256000__0.txt">decode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__5.0__48000__64000__0.txt">decode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__5.0__48000__128000__0.txt">decode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__5.0__48000__160000__0.txt">decode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>160000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__5.0__48000__192000__0.txt">decode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>192000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__5.0__48000__256000__0.txt">decode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__5.0__48000__64000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__5.0__48000__128000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__5.0__48000__160000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>160000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__5.0__48000__192000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>192000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__5.0__48000__256000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__5.0__48000__64000__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__5.0__48000__128000__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__5.0__48000__160000__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>160000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__5.0__48000__192000__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>192000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__5.0__48000__256000__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__5.0__48000__64000__0.txt">decode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__5.0__48000__128000__0.txt">decode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__5.0__48000__160000__0.txt">decode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>160000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__5.0__48000__192000__0.txt">decode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>192000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__5.0__48000__256000__0.txt">decode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__5.0__48000__64000__0.txt">decode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__5.0__48000__128000__0.txt">decode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__5.0__48000__160000__0.txt">decode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>160000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__5.0__48000__192000__0.txt">decode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>192000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__5.0__48000__256000__0.txt">decode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__5.0__48000__64000__0.txt">decode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__5.0__48000__128000__0.txt">decode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__5.0__48000__160000__0.txt">decode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>160000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__5.0__48000__192000__0.txt">decode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>192000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__5.0__48000__256000__0.txt">decode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__5.0__48000__64000__0.txt">decode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__5.0__48000__128000__0.txt">decode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__5.0__48000__160000__0.txt">decode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>160000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__5.0__48000__192000__0.txt">decode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>192000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-132 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__5.0__48000__256000__0.txt">decode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-132 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__5.0__48000__64000__0.txt">decode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>64000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__5.0__48000__128000__0.txt">decode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__5.0__48000__160000__0.txt">decode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>160000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__5.0__48000__192000__0.txt">decode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>192000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__5.0__48000__256000__0.txt">decode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__2.5__48000__128000__0.txt">decode</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__2.5__48000__256000__0.txt">decode</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__ABBA__2.5__48000__320000__0.txt">decode</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__2.5__48000__128000__0.txt">decode</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__2.5__48000__256000__0.txt">decode</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Castanets__2.5__48000__320000__0.txt">decode</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__2.5__48000__128000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__2.5__48000__256000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Eddie_Rabbitt__2.5__48000__320000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__2.5__48000__128000__0.txt">decode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__2.5__48000__256000__0.txt">decode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Female_Speech_German__2.5__48000__320000__0.txt">decode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__2.5__48000__128000__0.txt">decode</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__2.5__48000__256000__0.txt">decode</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Glockenspiel__2.5__48000__320000__0.txt">decode</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__2.5__48000__128000__0.txt">decode</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__2.5__48000__256000__0.txt">decode</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Piano_Schubert__2.5__48000__320000__0.txt">decode</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__2.5__48000__128000__0.txt">decode</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__2.5__48000__256000__0.txt">decode</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Violoncello__2.5__48000__320000__0.txt">decode</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__2.5__48000__128000__0.txt">decode</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__2.5__48000__256000__0.txt">decode</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Harpsichord__2.5__48000__320000__0.txt">decode</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-132 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__2.5__48000__128000__0.txt">decode</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__2.5__48000__256000__0.txt">decode</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__sqam__decode__Male_Speech_English__2.5__48000__320000__0.txt">decode</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
</table>
</div>
<div><h3>Band Limitation - 100%</h3>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>Bandwidth</th><th>Max. Abs. Diff</th><th>RMS [dB]</th><th>RMS Reached [bits]</th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__10.0__48000__92000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>92000</td><td>8000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__2.5__48000__320000__0.txt">decode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>4000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__10.0__16000__32000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>16000</td><td>32000</td><td>4000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__10.0__32000__64000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>64000</td><td>8000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__10.0__48000__92000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>92000</td><td>16000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__5.0__48000__184000__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>184000</td><td>8000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__5.0__48000__184000__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>184000</td><td>16000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__2.5__48000__320000__0.txt">decode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>8000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__2.5__48000__320000__0.txt">decode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>12000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__10.0__48000__92000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>92000</td><td>4000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__2.5__48000__320000__0.txt">decode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>16000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__10.0__32000__64000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>64000</td><td>4000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__5.0__48000__184000__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>184000</td><td>4000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__10.0__32000__64000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>64000</td><td>12000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__5.0__48000__184000__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>184000</td><td>12000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__band_limiting__decode__Female_Speech_German__10.0__48000__92000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>92000</td><td>12000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
</table>
</div>
<div><h3>Bitrate Switching - 100%</h3>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>Max. Abs. Diff</th><th>RMS [dB]</th><th>RMS Reached [bits]</th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__ABBA__10.0__8000__(16000, 32000)__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>8000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Castanets__10.0__8000__(16000, 32000)__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>8000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Eddie_Rabbitt__10.0__8000__(16000, 32000)__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>8000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Female_Speech_German__10.0__8000__(16000, 32000)__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>8000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Glockenspiel__10.0__8000__(16000, 32000)__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>8000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Piano_Schubert__10.0__8000__(16000, 32000)__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>8000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Violoncello__10.0__8000__(16000, 32000)__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>8000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Harpsichord__10.0__8000__(16000, 32000)__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>8000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Male_Speech_English__10.0__8000__(16000, 32000)__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>8000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__ABBA__10.0__16000__(16000, 32000)__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>16000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Castanets__10.0__16000__(16000, 32000)__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>16000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Eddie_Rabbitt__10.0__16000__(16000, 32000)__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>16000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Female_Speech_German__10.0__16000__(16000, 32000)__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>16000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Glockenspiel__10.0__16000__(16000, 32000)__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>16000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Piano_Schubert__10.0__16000__(16000, 32000)__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>16000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Violoncello__10.0__16000__(16000, 32000)__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>16000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Harpsichord__10.0__16000__(16000, 32000)__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>16000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Male_Speech_English__10.0__16000__(16000, 32000)__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>16000</td><td>16000-32000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__ABBA__10.0__32000__(16000, 128000)__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>32000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Castanets__10.0__32000__(16000, 128000)__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>32000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-132 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Eddie_Rabbitt__10.0__32000__(16000, 128000)__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>32000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-123 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Female_Speech_German__10.0__32000__(16000, 128000)__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Glockenspiel__10.0__32000__(16000, 128000)__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>32000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Piano_Schubert__10.0__32000__(16000, 128000)__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>32000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Violoncello__10.0__32000__(16000, 128000)__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>32000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Harpsichord__10.0__32000__(16000, 128000)__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>32000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Male_Speech_English__10.0__32000__(16000, 128000)__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>32000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__ABBA__10.0__48000__(16000, 128000)__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Castanets__10.0__48000__(16000, 128000)__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Eddie_Rabbitt__10.0__48000__(16000, 128000)__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Female_Speech_German__10.0__48000__(16000, 128000)__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Glockenspiel__10.0__48000__(16000, 128000)__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Piano_Schubert__10.0__48000__(16000, 128000)__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Violoncello__10.0__48000__(16000, 128000)__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-122 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Harpsichord__10.0__48000__(16000, 128000)__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Male_Speech_English__10.0__48000__(16000, 128000)__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>16000-128000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__ABBA__5.0__48000__(32000, 256000)__0.txt">decode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>32000-256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Castanets__5.0__48000__(32000, 256000)__0.txt">decode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>32000-256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-129 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Eddie_Rabbitt__5.0__48000__(32000, 256000)__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>32000-256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Female_Speech_German__5.0__48000__(32000, 256000)__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>32000-256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Glockenspiel__5.0__48000__(32000, 256000)__0.txt">decode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>32000-256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Piano_Schubert__5.0__48000__(32000, 256000)__0.txt">decode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>32000-256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Violoncello__5.0__48000__(32000, 256000)__0.txt">decode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>32000-256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Harpsichord__5.0__48000__(32000, 256000)__0.txt">decode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>32000-256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-132 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Male_Speech_English__5.0__48000__(32000, 256000)__0.txt">decode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>32000-256000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__ABBA__2.5__48000__(64000, 320000)__0.txt">decode</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>64000-320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-128 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Castanets__2.5__48000__(64000, 320000)__0.txt">decode</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>64000-320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-130 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Eddie_Rabbitt__2.5__48000__(64000, 320000)__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>64000-320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Female_Speech_German__2.5__48000__(64000, 320000)__0.txt">decode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>64000-320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-125 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Glockenspiel__2.5__48000__(64000, 320000)__0.txt">decode</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>64000-320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-127 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Piano_Schubert__2.5__48000__(64000, 320000)__0.txt">decode</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>64000-320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-126 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Violoncello__2.5__48000__(64000, 320000)__0.txt">decode</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>64000-320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Harpsichord__2.5__48000__(64000, 320000)__0.txt">decode</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>64000-320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-131 (-89.1)</td><td class=none>16 (14)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/DECODE__bitrate_switching__decode__Male_Speech_English__2.5__48000__(64000, 320000)__0.txt">decode</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>64000-320000</td><td class=pass>3.05e-05 (0.00148)</td><td class=pass>-124 (-89.1)</td><td class=none>16 (14)</td></tr>
</table>
</div>
</body>

View File

@ -0,0 +1,173 @@
<!DOCTYPE html><head><meta charset="UTF-8"><title>ENCDEC Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px; width:100%} th {padding:4px; border-top:1px solid #8f908a} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn{background-color:rgba(214,137,16,0.4)} a:link {color: white;text-decoration: none;} a:visited {color: white} a:hover {color: white;font-weight:bold;} a:active {color: rgb(155, 155, 155)}</style></head>
<body><h2>Conformance for "ENCDEC" passed!</h2>
<div><h3>SQAM - 100%</h3>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>ODG<sub>ref</sub></th><th>&#916<sub>ODG</sub></th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__10.0__8000__32000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.18</td><td class=pass>0.000782 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__10.0__8000__32000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.0965</td><td class=pass>3.3e-05 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__8000__32000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.165</td><td class=pass>0.00328 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__8000__32000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.241</td><td class=pass>0.000198 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__8000__32000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.937</td><td class=pass>0.0048 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__8000__32000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.381</td><td class=pass>5.9e-05 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__10.0__8000__32000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.544</td><td class=pass>0.00971 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__10.0__8000__32000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>8000</td><td>32000</td><td>-1.03</td><td class=pass>0.0182 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__8000__32000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.201</td><td class=pass>0.00165 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__10.0__16000__32000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>16000</td><td>32000</td><td>-1.38</td><td class=pass>0.00187 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__10.0__16000__32000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>16000</td><td>32000</td><td>-1.08</td><td class=pass>0.000114 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__16000__32000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>16000</td><td>32000</td><td>-1.11</td><td class=pass>0.00302 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__16000__32000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>16000</td><td>32000</td><td>-1.55</td><td class=pass>0.0141 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__16000__32000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>16000</td><td>32000</td><td>-2.66</td><td class=pass>0.00408 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__16000__32000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>16000</td><td>32000</td><td>-1.7</td><td class=pass>0.00881 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__10.0__16000__32000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>16000</td><td>32000</td><td>-2.01</td><td class=pass>0.0115 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__10.0__16000__32000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>16000</td><td>32000</td><td>-3.15</td><td class=pass>0.00222 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__16000__32000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>16000</td><td>32000</td><td>-1.42</td><td class=pass>0.00126 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__10.0__32000__64000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>32000</td><td>64000</td><td>-0.633</td><td class=pass>0.00141 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__10.0__32000__128000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>32000</td><td>128000</td><td>0.0127</td><td class=pass>0.00398 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__10.0__32000__64000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>32000</td><td>64000</td><td>-0.799</td><td class=pass>0.000342 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__10.0__32000__128000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>32000</td><td>128000</td><td>0.00203</td><td class=pass>0.000637 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__32000__64000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>32000</td><td>64000</td><td>-0.625</td><td class=pass>0.00434 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__32000__128000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>32000</td><td>128000</td><td>0.0102</td><td class=pass>0.00151 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__32000__64000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>64000</td><td>-0.762</td><td class=pass>0.00626 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__32000__128000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>128000</td><td>0.0184</td><td class=pass>0.00666 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__32000__64000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>32000</td><td>64000</td><td>-1.57</td><td class=pass>0.000125 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__32000__128000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>32000</td><td>128000</td><td>-0.014</td><td class=pass>0.00361 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__32000__64000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>32000</td><td>64000</td><td>-0.384</td><td class=pass>0.00184 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__32000__128000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>32000</td><td>128000</td><td>0.0254</td><td class=pass>0.000597 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__10.0__32000__64000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>32000</td><td>64000</td><td>-1.29</td><td class=pass>0.0055 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__10.0__32000__128000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>32000</td><td>128000</td><td>-0.0214</td><td class=pass>0.00084 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__10.0__32000__64000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>32000</td><td>64000</td><td>-1.7</td><td class=pass>0.00968 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__10.0__32000__128000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>32000</td><td>128000</td><td>-0.0732</td><td class=pass>0.00106 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__32000__64000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>32000</td><td>64000</td><td>-0.733</td><td class=pass>0.000193 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__32000__128000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>32000</td><td>128000</td><td>0.0186</td><td class=pass>0.00141 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__10.0__48000__32000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>32000</td><td>-2.98</td><td class=pass>0.077 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__10.0__48000__64000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>64000</td><td>-0.781</td><td class=pass>0.00257 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__10.0__48000__96000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.229</td><td class=pass>7.4e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__10.0__48000__128000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.0281</td><td class=pass>0.00212 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__10.0__48000__32000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>32000</td><td>-3.05</td><td class=pass>0.000126 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__10.0__48000__64000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>64000</td><td>-0.974</td><td class=pass>9.9e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__10.0__48000__96000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.246</td><td class=pass>0.000159 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__10.0__48000__128000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.0452</td><td class=pass>0.00272 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__48000__32000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>32000</td><td>-2.57</td><td class=pass>0.00808 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__48000__64000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>64000</td><td>-0.683</td><td class=pass>0.00496 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__48000__96000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.205</td><td class=pass>0.000209 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__48000__128000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.022</td><td class=pass>0.0029 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__48000__32000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>32000</td><td>-3.02</td><td class=pass>0.00892 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__48000__64000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>64000</td><td>-0.923</td><td class=pass>0.0185 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__48000__96000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.234</td><td class=pass>2.3e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__48000__128000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.0229</td><td class=pass>0.000146 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__48000__32000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>32000</td><td>-3.73</td><td class=pass>0.000191 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__48000__64000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>64000</td><td>-2.2</td><td class=pass>0.00224 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__48000__96000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.236</td><td class=pass>0.000317 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__48000__128000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.0421</td><td class=pass>0.00315 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__48000__32000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>32000</td><td>-2.15</td><td class=pass>0.00299 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__48000__64000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>64000</td><td>-0.443</td><td class=pass>0.000636 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__48000__96000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.0755</td><td class=pass>0.000142 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__48000__128000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>128000</td><td>0.017</td><td class=pass>1.7e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__10.0__48000__32000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>32000</td><td>-3.04</td><td class=pass>0.00503 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__10.0__48000__64000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>64000</td><td>-1.39</td><td class=pass>0.00924 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__10.0__48000__96000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.524</td><td class=pass>0.000131 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__10.0__48000__128000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.0917</td><td class=pass>0.00198 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__10.0__48000__32000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>32000</td><td>-3.71</td><td class=pass>0.00152 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__10.0__48000__64000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>64000</td><td>-1.87</td><td class=pass>0.0187 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__10.0__48000__96000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.639</td><td class=pass>0.000228 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__10.0__48000__128000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.155</td><td class=pass>0.0023 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__48000__32000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>32000</td><td>-2.71</td><td class=pass>0.00211 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__48000__64000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>64000</td><td>-0.763</td><td class=pass>5.9e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__48000__96000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.175</td><td class=pass>0.000235 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__48000__128000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.00993</td><td class=pass>0.00272 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__5.0__48000__64000__0.txt">encdec</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>64000</td><td>-0.912</td><td class=pass>0.00049 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__5.0__48000__128000__0.txt">encdec</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0877</td><td class=pass>0.000151 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__5.0__48000__160000__0.txt">encdec</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>160000</td><td>0.00468</td><td class=pass>1.6e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__5.0__48000__192000__0.txt">encdec</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0471</td><td class=pass>7.8e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__5.0__48000__256000__0.txt">encdec</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0567</td><td class=pass>0.00249 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__5.0__48000__64000__0.txt">encdec</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>64000</td><td>-1.1</td><td class=pass>0.00693 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__5.0__48000__128000__0.txt">encdec</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0906</td><td class=pass>6e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__5.0__48000__160000__0.txt">encdec</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>160000</td><td>-0.00657</td><td class=pass>0.000119 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__5.0__48000__192000__0.txt">encdec</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0352</td><td class=pass>0.00012 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__5.0__48000__256000__0.txt">encdec</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0467</td><td class=pass>6.8e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__5.0__48000__64000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>64000</td><td>-0.974</td><td class=pass>0.0357 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__5.0__48000__128000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0755</td><td class=pass>0.000439 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__5.0__48000__160000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>160000</td><td>0.00577</td><td class=pass>2.7e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__5.0__48000__192000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0438</td><td class=pass>0.000169 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__5.0__48000__256000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0567</td><td class=pass>0.00121 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__5.0__48000__64000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>64000</td><td>-1.33</td><td class=pass>0.0431 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__5.0__48000__128000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0895</td><td class=pass>0.000686 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__5.0__48000__160000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>160000</td><td>0.0083</td><td class=pass>2e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__5.0__48000__192000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>192000</td><td>0.045</td><td class=pass>0.000579 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__5.0__48000__256000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0547</td><td class=pass>4.8e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__5.0__48000__64000__0.txt">encdec</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>64000</td><td>-2.96</td><td class=pass>0.000932 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__5.0__48000__128000__0.txt">encdec</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0739</td><td class=pass>0.0011 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__5.0__48000__160000__0.txt">encdec</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>160000</td><td>0.00841</td><td class=pass>0.0025 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__5.0__48000__192000__0.txt">encdec</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0383</td><td class=pass>0.000107 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__5.0__48000__256000__0.txt">encdec</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0552</td><td class=pass>0.000562 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__5.0__48000__64000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>64000</td><td>-0.823</td><td class=pass>0.00564 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__5.0__48000__128000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0189</td><td class=pass>0.000517 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__5.0__48000__160000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>160000</td><td>0.031</td><td class=pass>0.000296 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__5.0__48000__192000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0519</td><td class=pass>0.000235 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__5.0__48000__256000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0536</td><td class=pass>0.000676 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__5.0__48000__64000__0.txt">encdec</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>64000</td><td>-1.99</td><td class=pass>0.0367 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__5.0__48000__128000__0.txt">encdec</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.259</td><td class=pass>0.00171 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__5.0__48000__160000__0.txt">encdec</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>160000</td><td>-0.0323</td><td class=pass>0.00034 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__5.0__48000__192000__0.txt">encdec</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0422</td><td class=pass>2.3e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__5.0__48000__256000__0.txt">encdec</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>256000</td><td>0.061</td><td class=pass>0.00047 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__5.0__48000__64000__0.txt">encdec</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>64000</td><td>-2.56</td><td class=pass>0.0218 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__5.0__48000__128000__0.txt">encdec</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.336</td><td class=pass>9.4e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__5.0__48000__160000__0.txt">encdec</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>160000</td><td>-0.0888</td><td class=pass>0.000809 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__5.0__48000__192000__0.txt">encdec</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0156</td><td class=pass>7.7e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__5.0__48000__256000__0.txt">encdec</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0582</td><td class=pass>0.000359 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__5.0__48000__64000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>64000</td><td>-1.14</td><td class=pass>0.0121 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__5.0__48000__128000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0558</td><td class=pass>0.00013 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__5.0__48000__160000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>160000</td><td>0.0131</td><td class=pass>0.000126 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__5.0__48000__192000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0492</td><td class=pass>0.0002 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__5.0__48000__256000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0579</td><td class=pass>0.00273 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__2.5__48000__128000__0.txt">encdec</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.174</td><td class=pass>0.00139 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__2.5__48000__256000__0.txt">encdec</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0473</td><td class=pass>1.1e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__ABBA__2.5__48000__320000__0.txt">encdec</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0574</td><td class=pass>6e-06 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__2.5__48000__128000__0.txt">encdec</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.169</td><td class=pass>0.000672 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__2.5__48000__256000__0.txt">encdec</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0323</td><td class=pass>3.3e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Castanets__2.5__48000__320000__0.txt">encdec</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0435</td><td class=pass>0.000197 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__2.5__48000__128000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.193</td><td class=pass>0.00732 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__2.5__48000__256000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0505</td><td class=pass>6.9e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__2.5__48000__320000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0574</td><td class=pass>0.000113 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__2.5__48000__128000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.292</td><td class=pass>0.0153 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__2.5__48000__256000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0512</td><td class=pass>0.000295 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Female_Speech_German__2.5__48000__320000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0552</td><td class=pass>0.000225 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__2.5__48000__128000__0.txt">encdec</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>128000</td><td>-1.69</td><td class=pass>0.014 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__2.5__48000__256000__0.txt">encdec</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>256000</td><td>0.05</td><td class=pass>5e-06 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Glockenspiel__2.5__48000__320000__0.txt">encdec</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0559</td><td class=pass>0.00022 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__2.5__48000__128000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.186</td><td class=pass>0.00412 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__2.5__48000__256000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0547</td><td class=pass>0.000468 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Piano_Schubert__2.5__48000__320000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0517</td><td class=pass>5.8e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__2.5__48000__128000__0.txt">encdec</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.605</td><td class=pass>0.0548 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__2.5__48000__256000__0.txt">encdec</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0559</td><td class=pass>4e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Violoncello__2.5__48000__320000__0.txt">encdec</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0615</td><td class=pass>9.6e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__2.5__48000__128000__0.txt">encdec</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.807</td><td class=pass>0.0387 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__2.5__48000__256000__0.txt">encdec</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0426</td><td class=pass>2.8e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Harpsichord__2.5__48000__320000__0.txt">encdec</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0598</td><td class=pass>0.000189 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__2.5__48000__128000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.253</td><td class=pass>0.000255 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__2.5__48000__256000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0547</td><td class=pass>6.5e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__sqam__encdec__Male_Speech_English__2.5__48000__320000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0585</td><td class=pass>0.000147 (0.06)</td></tr>
</table>
</div>
<div><h3>Band Limitation - 100%</h3>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>Bandwidth</th><th>ODG<sub>ref</sub></th><th>&#916<sub>ODG</sub></th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__10.0__16000__32000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>16000</td><td>32000</td><td>4000</td><td>-0.616</td><td class=pass>0.015 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__10.0__32000__64000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>64000</td><td>8000</td><td>-0.217</td><td class=pass>0.0026 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__10.0__48000__92000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>92000</td><td>4000</td><td>-0.0226</td><td class=pass>0.000514 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__5.0__48000__184000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>184000</td><td>8000</td><td>0.033</td><td class=pass>0.000436 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__10.0__48000__92000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>92000</td><td>12000</td><td>-0.045</td><td class=pass>0.000354 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__2.5__48000__320000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>8000</td><td>0.0271</td><td class=pass>0.00204 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__5.0__48000__184000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>184000</td><td>16000</td><td>0.051</td><td class=pass>0.000448 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__2.5__48000__320000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>16000</td><td>0.0554</td><td class=pass>0.000527 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__2.5__48000__320000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>12000</td><td>0.0588</td><td class=pass>0.00069 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__10.0__32000__64000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>64000</td><td>4000</td><td>-0.229</td><td class=pass>0.00847 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__5.0__48000__184000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>184000</td><td>4000</td><td>0.0535</td><td class=pass>3.8e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__10.0__48000__92000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>92000</td><td>8000</td><td>0.00497</td><td class=pass>0.000406 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__10.0__48000__92000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>92000</td><td>16000</td><td>-0.191</td><td class=pass>0.000559 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__2.5__48000__320000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>4000</td><td>0.0543</td><td class=pass>0.000174 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__10.0__32000__64000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>64000</td><td>12000</td><td>-0.487</td><td class=pass>0.00685 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCDEC__band_limiting__encdec__Female_Speech_German__5.0__48000__184000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>184000</td><td>12000</td><td>0.0563</td><td class=pass>3.2e-05 (0.06)</td></tr>
</table>
</div>
</body>

View File

@ -0,0 +1,173 @@
<!DOCTYPE html><head><meta charset="UTF-8"><title>ENCODE Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px; width:100%} th {padding:4px; border-top:1px solid #8f908a} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn{background-color:rgba(214,137,16,0.4)} a:link {color: white;text-decoration: none;} a:visited {color: white} a:hover {color: white;font-weight:bold;} a:active {color: rgb(155, 155, 155)}</style></head>
<body><h2>Conformance for "ENCODE" passed!</h2>
<div><h3>SQAM - 100%</h3>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>ODG<sub>ref</sub></th><th>&#916<sub>ODG</sub></th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__10.0__8000__32000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.18</td><td class=pass>0.000532 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__10.0__8000__32000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.0965</td><td class=pass>3.5e-05 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__8000__32000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.165</td><td class=pass>0.00319 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__10.0__8000__32000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.241</td><td class=pass>0.000313 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__10.0__8000__32000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.937</td><td class=pass>0.00545 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__10.0__8000__32000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.381</td><td class=pass>0.00113 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__10.0__8000__32000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.544</td><td class=pass>0.01 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__10.0__8000__32000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>8000</td><td>32000</td><td>-1.03</td><td class=pass>0.0191 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__10.0__8000__32000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>8000</td><td>32000</td><td>-0.201</td><td class=pass>0.00156 (0.15)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__10.0__16000__32000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>16000</td><td>32000</td><td>-1.38</td><td class=pass>0.00227 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__10.0__16000__32000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>16000</td><td>32000</td><td>-1.08</td><td class=pass>0.000102 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__16000__32000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>16000</td><td>32000</td><td>-1.11</td><td class=pass>0.00347 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__10.0__16000__32000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>16000</td><td>32000</td><td>-1.55</td><td class=pass>0.0141 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__10.0__16000__32000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>16000</td><td>32000</td><td>-2.66</td><td class=pass>0.00447 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__10.0__16000__32000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>16000</td><td>32000</td><td>-1.7</td><td class=pass>0.00709 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__10.0__16000__32000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>16000</td><td>32000</td><td>-2.01</td><td class=pass>0.0112 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__10.0__16000__32000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>16000</td><td>32000</td><td>-3.15</td><td class=pass>0.00225 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__10.0__16000__32000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>16000</td><td>32000</td><td>-1.42</td><td class=pass>0.00109 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__10.0__32000__64000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>32000</td><td>64000</td><td>-0.633</td><td class=pass>0.00141 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__10.0__32000__128000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>32000</td><td>128000</td><td>0.0127</td><td class=pass>0.00399 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__10.0__32000__64000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>32000</td><td>64000</td><td>-0.799</td><td class=pass>0.000333 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__10.0__32000__128000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>32000</td><td>128000</td><td>0.00203</td><td class=pass>0.00063 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__32000__64000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>32000</td><td>64000</td><td>-0.625</td><td class=pass>0.00438 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__32000__128000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>32000</td><td>128000</td><td>0.0102</td><td class=pass>0.00151 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__10.0__32000__64000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>64000</td><td>-0.762</td><td class=pass>0.00627 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__10.0__32000__128000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>128000</td><td>0.0184</td><td class=pass>0.00667 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__10.0__32000__64000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>32000</td><td>64000</td><td>-1.57</td><td class=pass>0.000545 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__10.0__32000__128000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>32000</td><td>128000</td><td>-0.014</td><td class=pass>0.00353 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__10.0__32000__64000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>32000</td><td>64000</td><td>-0.384</td><td class=pass>0.00204 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__10.0__32000__128000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>32000</td><td>128000</td><td>0.0254</td><td class=pass>0.000649 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__10.0__32000__64000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>32000</td><td>64000</td><td>-1.29</td><td class=pass>0.0055 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__10.0__32000__128000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>32000</td><td>128000</td><td>-0.0214</td><td class=pass>0.00088 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__10.0__32000__64000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>32000</td><td>64000</td><td>-1.7</td><td class=pass>0.00967 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__10.0__32000__128000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>32000</td><td>128000</td><td>-0.0732</td><td class=pass>0.00103 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__10.0__32000__64000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>32000</td><td>64000</td><td>-0.733</td><td class=pass>0.000152 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__10.0__32000__128000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>32000</td><td>128000</td><td>0.0186</td><td class=pass>0.00139 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__10.0__48000__32000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>32000</td><td>-2.98</td><td class=pass>0.077 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__10.0__48000__64000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>64000</td><td>-0.781</td><td class=pass>0.0026 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__10.0__48000__96000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.229</td><td class=pass>6.6e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__10.0__48000__128000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.0281</td><td class=pass>0.00211 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__10.0__48000__32000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>32000</td><td>-3.05</td><td class=pass>0.000102 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__10.0__48000__64000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>64000</td><td>-0.974</td><td class=pass>0.000117 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__10.0__48000__96000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.246</td><td class=pass>0.000171 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__10.0__48000__128000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.0452</td><td class=pass>0.00273 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__48000__32000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>32000</td><td>-2.57</td><td class=pass>0.00812 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__48000__64000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>64000</td><td>-0.683</td><td class=pass>0.00496 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__48000__96000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.205</td><td class=pass>0.000205 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__48000__128000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.022</td><td class=pass>0.0029 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__10.0__48000__32000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>32000</td><td>-3.02</td><td class=pass>0.00894 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__10.0__48000__64000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>64000</td><td>-0.923</td><td class=pass>0.0185 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__10.0__48000__96000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.234</td><td class=pass>1e-06 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__10.0__48000__128000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.0229</td><td class=pass>0.000141 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__10.0__48000__32000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>32000</td><td>-3.73</td><td class=pass>0.000115 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__10.0__48000__64000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>64000</td><td>-2.2</td><td class=pass>0.00226 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__10.0__48000__96000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.236</td><td class=pass>0.000353 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__10.0__48000__128000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.0421</td><td class=pass>0.00304 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__10.0__48000__32000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>32000</td><td>-2.15</td><td class=pass>0.00268 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__10.0__48000__64000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>64000</td><td>-0.443</td><td class=pass>0.000672 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__10.0__48000__96000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.0755</td><td class=pass>0.00012 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__10.0__48000__128000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>128000</td><td>0.017</td><td class=pass>1.9e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__10.0__48000__32000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>32000</td><td>-3.04</td><td class=pass>0.00505 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__10.0__48000__64000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>64000</td><td>-1.39</td><td class=pass>0.00916 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__10.0__48000__96000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.524</td><td class=pass>5.9e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__10.0__48000__128000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.0917</td><td class=pass>0.00203 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__10.0__48000__32000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>32000</td><td>-3.71</td><td class=pass>0.00152 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__10.0__48000__64000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>64000</td><td>-1.87</td><td class=pass>0.0187 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__10.0__48000__96000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.639</td><td class=pass>0.000228 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__10.0__48000__128000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.155</td><td class=pass>0.00227 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__10.0__48000__32000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>32000</td><td>-2.71</td><td class=pass>0.00214 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__10.0__48000__64000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>64000</td><td>-0.763</td><td class=pass>5.3e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__10.0__48000__96000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>96000</td><td>-0.175</td><td class=pass>0.000235 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__10.0__48000__128000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>128000</td><td>-0.00993</td><td class=pass>0.00273 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__5.0__48000__64000__0.txt">encode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>64000</td><td>-0.912</td><td class=pass>0.000479 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__5.0__48000__128000__0.txt">encode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0877</td><td class=pass>0.000148 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__5.0__48000__160000__0.txt">encode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>160000</td><td>0.00468</td><td class=pass>1.8e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__5.0__48000__192000__0.txt">encode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0471</td><td class=pass>7.7e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__5.0__48000__256000__0.txt">encode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0567</td><td class=pass>0.0025 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__5.0__48000__64000__0.txt">encode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>64000</td><td>-1.1</td><td class=pass>0.00693 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__5.0__48000__128000__0.txt">encode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0906</td><td class=pass>5.9e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__5.0__48000__160000__0.txt">encode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>160000</td><td>-0.00657</td><td class=pass>0.000131 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__5.0__48000__192000__0.txt">encode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0352</td><td class=pass>0.000122 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__5.0__48000__256000__0.txt">encode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0467</td><td class=pass>7e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__5.0__48000__64000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>64000</td><td>-0.974</td><td class=pass>0.0357 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__5.0__48000__128000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0755</td><td class=pass>0.000437 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__5.0__48000__160000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>160000</td><td>0.00577</td><td class=pass>1.5e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__5.0__48000__192000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0438</td><td class=pass>0.000157 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__5.0__48000__256000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0567</td><td class=pass>0.0012 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__5.0__48000__64000__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>64000</td><td>-1.33</td><td class=pass>0.043 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__5.0__48000__128000__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0895</td><td class=pass>0.00066 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__5.0__48000__160000__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>160000</td><td>0.0083</td><td class=pass>1.8e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__5.0__48000__192000__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>192000</td><td>0.045</td><td class=pass>0.000591 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__5.0__48000__256000__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0547</td><td class=pass>3.4e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__5.0__48000__64000__0.txt">encode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>64000</td><td>-2.96</td><td class=pass>0.000489 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__5.0__48000__128000__0.txt">encode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0739</td><td class=pass>0.00126 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__5.0__48000__160000__0.txt">encode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>160000</td><td>0.00841</td><td class=pass>0.00259 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__5.0__48000__192000__0.txt">encode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0383</td><td class=pass>0.000237 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__5.0__48000__256000__0.txt">encode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0552</td><td class=pass>0.000583 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__5.0__48000__64000__0.txt">encode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>64000</td><td>-0.823</td><td class=pass>0.0056 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__5.0__48000__128000__0.txt">encode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0189</td><td class=pass>0.000541 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__5.0__48000__160000__0.txt">encode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>160000</td><td>0.031</td><td class=pass>0.000205 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__5.0__48000__192000__0.txt">encode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0519</td><td class=pass>0.00023 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__5.0__48000__256000__0.txt">encode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0536</td><td class=pass>0.000613 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__5.0__48000__64000__0.txt">encode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>64000</td><td>-1.99</td><td class=pass>0.0367 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__5.0__48000__128000__0.txt">encode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.259</td><td class=pass>0.00169 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__5.0__48000__160000__0.txt">encode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>160000</td><td>-0.0323</td><td class=pass>0.000338 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__5.0__48000__192000__0.txt">encode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0422</td><td class=pass>2.1e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__5.0__48000__256000__0.txt">encode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>256000</td><td>0.061</td><td class=pass>0.000428 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__5.0__48000__64000__0.txt">encode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>64000</td><td>-2.56</td><td class=pass>0.0219 (0.12)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__5.0__48000__128000__0.txt">encode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.336</td><td class=pass>0.0001 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__5.0__48000__160000__0.txt">encode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>160000</td><td>-0.0888</td><td class=pass>0.000801 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__5.0__48000__192000__0.txt">encode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0156</td><td class=pass>6e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__5.0__48000__256000__0.txt">encode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0582</td><td class=pass>0.000371 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__5.0__48000__64000__0.txt">encode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>64000</td><td>-1.14</td><td class=pass>0.0121 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__5.0__48000__128000__0.txt">encode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>128000</td><td>-0.0558</td><td class=pass>0.000112 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__5.0__48000__160000__0.txt">encode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>160000</td><td>0.0131</td><td class=pass>0.000132 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__5.0__48000__192000__0.txt">encode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>192000</td><td>0.0492</td><td class=pass>0.000216 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__5.0__48000__256000__0.txt">encode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>256000</td><td>0.0579</td><td class=pass>0.00275 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__2.5__48000__128000__0.txt">encode</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.174</td><td class=pass>0.00138 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__2.5__48000__256000__0.txt">encode</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0473</td><td class=pass>1.3e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__ABBA__2.5__48000__320000__0.txt">encode</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0574</td><td class=pass>2.2e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__2.5__48000__128000__0.txt">encode</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.169</td><td class=pass>0.000659 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__2.5__48000__256000__0.txt">encode</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0323</td><td class=pass>3.7e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Castanets__2.5__48000__320000__0.txt">encode</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0435</td><td class=pass>0.000226 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__2.5__48000__128000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.193</td><td class=pass>0.00731 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__2.5__48000__256000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0505</td><td class=pass>7.2e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Eddie_Rabbitt__2.5__48000__320000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0574</td><td class=pass>0.000112 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__2.5__48000__128000__0.txt">encode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.292</td><td class=pass>0.0153 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__2.5__48000__256000__0.txt">encode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0512</td><td class=pass>0.000298 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Female_Speech_German__2.5__48000__320000__0.txt">encode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0552</td><td class=pass>0.000231 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__2.5__48000__128000__0.txt">encode</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>128000</td><td>-1.69</td><td class=pass>0.0134 (0.08)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__2.5__48000__256000__0.txt">encode</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>256000</td><td>0.05</td><td class=pass>0.000125 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Glockenspiel__2.5__48000__320000__0.txt">encode</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0559</td><td class=pass>0.000257 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__2.5__48000__128000__0.txt">encode</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.186</td><td class=pass>0.00411 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__2.5__48000__256000__0.txt">encode</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0547</td><td class=pass>0.000496 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Piano_Schubert__2.5__48000__320000__0.txt">encode</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0517</td><td class=pass>0.000108 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__2.5__48000__128000__0.txt">encode</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.605</td><td class=pass>0.0549 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__2.5__48000__256000__0.txt">encode</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0559</td><td class=pass>2.1e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Violoncello__2.5__48000__320000__0.txt">encode</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0615</td><td class=pass>9.5e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__2.5__48000__128000__0.txt">encode</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.807</td><td class=pass>0.0387 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__2.5__48000__256000__0.txt">encode</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0426</td><td class=pass>3.2e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Harpsichord__2.5__48000__320000__0.txt">encode</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0598</td><td class=pass>0.000176 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__2.5__48000__128000__0.txt">encode</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>128000</td><td>-0.253</td><td class=pass>0.000217 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__2.5__48000__256000__0.txt">encode</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>256000</td><td>0.0547</td><td class=pass>6.2e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__sqam__encode__Male_Speech_English__2.5__48000__320000__0.txt">encode</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>320000</td><td>0.0585</td><td class=pass>0.000139 (0.06)</td></tr>
</table>
</div>
<div><h3>Band Limitation - 100%</h3>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>Bandwidth</th><th>ODG<sub>ref</sub></th><th>&#916<sub>ODG</sub></th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__10.0__48000__92000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>92000</td><td>16000</td><td>-0.191</td><td class=pass>0.000576 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__10.0__16000__32000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>16000</td><td>32000</td><td>4000</td><td>-0.616</td><td class=pass>0.0152 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__2.5__48000__320000__0.txt">encode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>16000</td><td>0.0554</td><td class=pass>0.000477 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__10.0__48000__92000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>92000</td><td>4000</td><td>-0.0226</td><td class=pass>0.000864 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__5.0__48000__184000__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>184000</td><td>4000</td><td>0.0535</td><td class=pass>0.000132 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__10.0__32000__64000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>64000</td><td>8000</td><td>-0.217</td><td class=pass>0.00258 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__5.0__48000__184000__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>184000</td><td>12000</td><td>0.0563</td><td class=pass>2.8e-05 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__2.5__48000__320000__0.txt">encode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>4000</td><td>0.0543</td><td class=pass>0.000301 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__10.0__48000__92000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>92000</td><td>12000</td><td>-0.045</td><td class=pass>0.000333 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__2.5__48000__320000__0.txt">encode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>12000</td><td>0.0588</td><td class=pass>0.000664 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__10.0__32000__64000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>64000</td><td>4000</td><td>-0.229</td><td class=pass>0.00863 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__10.0__48000__92000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>92000</td><td>8000</td><td>0.00497</td><td class=pass>0.000274 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__5.0__48000__184000__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>184000</td><td>8000</td><td>0.033</td><td class=pass>0.000545 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__10.0__32000__64000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>32000</td><td>64000</td><td>12000</td><td>-0.487</td><td class=pass>0.00644 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__5.0__48000__184000__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>184000</td><td>16000</td><td>0.051</td><td class=pass>0.000454 (0.06)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-28_log/ENCODE__band_limiting__encode__Female_Speech_German__2.5__48000__320000__0.txt">encode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>320000</td><td>8000</td><td>0.0271</td><td class=pass>0.00186 (0.06)</td></tr>
</table>
</div>
</body>

View File

@ -0,0 +1,107 @@
<!DOCTYPE html><head><meta charset="UTF-8"><title>DECODE Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px; width:100%} th {padding:4px; border-top:1px solid #8f908a} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn{background-color:rgba(214,137,16,0.4)} a:link {color: white;text-decoration: none;} a:visited {color: white} a:hover {color: white;font-weight:bold;} a:active {color: rgb(155, 155, 155)}</style></head>
<body><h2>Conformance for "DECODE" passed!</h2>
<div><h3>SQAM - 100%</h3>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>Max. Abs. Diff</th><th>RMS [dB]</th><th>RMS Reached [bits]</th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__ABBA__10.0__48000__124800__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__ABBA__10.0__48000__128000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__ABBA__10.0__48000__160000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__ABBA__10.0__48000__192000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__ABBA__10.0__48000__500000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Castanets__10.0__48000__124800__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>5.96e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Castanets__10.0__48000__128000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Castanets__10.0__48000__160000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Castanets__10.0__48000__192000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Castanets__10.0__48000__500000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__48000__124800__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__48000__128000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__48000__160000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__48000__192000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__48000__500000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Female_Speech_German__10.0__48000__124800__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Female_Speech_German__10.0__48000__128000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Female_Speech_German__10.0__48000__160000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Female_Speech_German__10.0__48000__192000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Female_Speech_German__10.0__48000__500000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Glockenspiel__10.0__48000__124800__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Glockenspiel__10.0__48000__128000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Glockenspiel__10.0__48000__160000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Glockenspiel__10.0__48000__192000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-152 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Glockenspiel__10.0__48000__500000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Piano_Schubert__10.0__48000__124800__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Piano_Schubert__10.0__48000__128000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Piano_Schubert__10.0__48000__160000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Piano_Schubert__10.0__48000__192000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Piano_Schubert__10.0__48000__500000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Violoncello__10.0__48000__124800__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Violoncello__10.0__48000__128000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Violoncello__10.0__48000__160000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Violoncello__10.0__48000__192000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Violoncello__10.0__48000__500000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Harpsichord__10.0__48000__124800__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Harpsichord__10.0__48000__128000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Harpsichord__10.0__48000__160000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Harpsichord__10.0__48000__192000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Harpsichord__10.0__48000__500000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Male_Speech_English__10.0__48000__124800__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Male_Speech_English__10.0__48000__128000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Male_Speech_English__10.0__48000__160000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Male_Speech_English__10.0__48000__192000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Male_Speech_English__10.0__48000__500000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__ABBA__10.0__96000__149600__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__ABBA__10.0__96000__160000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__ABBA__10.0__96000__192000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__ABBA__10.0__96000__256000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__ABBA__10.0__96000__320000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__ABBA__10.0__96000__500000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Castanets__10.0__96000__149600__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Castanets__10.0__96000__160000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>4.77e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Castanets__10.0__96000__192000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>4.77e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Castanets__10.0__96000__256000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>4.77e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Castanets__10.0__96000__320000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>4.77e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Castanets__10.0__96000__500000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__96000__149600__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>4.77e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__96000__160000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__96000__192000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__96000__256000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__96000__320000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Eddie_Rabbitt__10.0__96000__500000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Female_Speech_German__10.0__96000__149600__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Female_Speech_German__10.0__96000__160000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Female_Speech_German__10.0__96000__192000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Female_Speech_German__10.0__96000__256000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Female_Speech_German__10.0__96000__320000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Female_Speech_German__10.0__96000__500000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Glockenspiel__10.0__96000__149600__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Glockenspiel__10.0__96000__160000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Glockenspiel__10.0__96000__192000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Glockenspiel__10.0__96000__256000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-152 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Glockenspiel__10.0__96000__320000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-152 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Glockenspiel__10.0__96000__500000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Piano_Schubert__10.0__96000__149600__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Piano_Schubert__10.0__96000__160000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Piano_Schubert__10.0__96000__192000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Piano_Schubert__10.0__96000__256000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Piano_Schubert__10.0__96000__320000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Piano_Schubert__10.0__96000__500000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Violoncello__10.0__96000__149600__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Violoncello__10.0__96000__160000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Violoncello__10.0__96000__192000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Violoncello__10.0__96000__256000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Violoncello__10.0__96000__320000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Violoncello__10.0__96000__500000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Harpsichord__10.0__96000__149600__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Harpsichord__10.0__96000__160000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Harpsichord__10.0__96000__192000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Harpsichord__10.0__96000__256000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Harpsichord__10.0__96000__320000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Harpsichord__10.0__96000__500000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Male_Speech_English__10.0__96000__149600__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Male_Speech_English__10.0__96000__160000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Male_Speech_English__10.0__96000__192000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Male_Speech_English__10.0__96000__256000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Male_Speech_English__10.0__96000__320000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/DECODE__sqam__decode__Male_Speech_English__10.0__96000__500000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
</table>
</div>
</body>

View File

@ -0,0 +1,71 @@
<!DOCTYPE html><head><meta charset="UTF-8"><title>ENCDEC Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px; width:100%} th {padding:4px; border-top:1px solid #8f908a} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn{background-color:rgba(214,137,16,0.4)} a:link {color: white;text-decoration: none;} a:visited {color: white} a:hover {color: white;font-weight:bold;} a:active {color: rgb(155, 155, 155)}</style></head>
<body><h2>Conformance for "ENCDEC" passed!</h2>
<div><h3>SQAM - 100%</h3>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>MLD</th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__ABBA__10.0__48000__128000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.372 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__ABBA__10.0__48000__160000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.221 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__ABBA__10.0__48000__192000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.191 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Castanets__10.0__48000__128000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>1.45 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Castanets__10.0__48000__160000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.538 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Castanets__10.0__48000__192000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.517 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__48000__128000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.63 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__48000__160000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.467 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__48000__192000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.278 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__48000__128000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.485 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__48000__160000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.249 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__48000__192000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.199 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__48000__128000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.428 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__48000__160000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.33 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__48000__192000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.171 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__48000__128000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.0963 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__48000__160000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.0339 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__48000__192000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.0256 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Violoncello__10.0__48000__128000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.171 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Violoncello__10.0__48000__160000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.0918 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Violoncello__10.0__48000__192000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.0543 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Harpsichord__10.0__48000__128000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.43 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Harpsichord__10.0__48000__160000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.273 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Harpsichord__10.0__48000__192000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.185 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__48000__128000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.348 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__48000__160000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.275 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__48000__192000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.127 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__ABBA__10.0__96000__160000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.000877 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__ABBA__10.0__96000__192000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.0106 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__ABBA__10.0__96000__256000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.00181 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__ABBA__10.0__96000__320000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.0354 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Castanets__10.0__96000__160000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0321 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Castanets__10.0__96000__192000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.00031 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Castanets__10.0__96000__256000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>2.05 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Castanets__10.0__96000__320000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>1.61 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__96000__160000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0124 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__96000__192000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.206 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__96000__256000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.000726 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Eddie_Rabbitt__10.0__96000__320000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.0234 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__96000__160000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0141 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__96000__192000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.00316 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__96000__256000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.0047 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Female_Speech_German__10.0__96000__320000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.00451 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__96000__160000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0114 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__96000__192000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.00835 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__96000__256000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.00222 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Glockenspiel__10.0__96000__320000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.00301 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__96000__160000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.012 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__96000__192000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.00901 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__96000__256000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.0072 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Piano_Schubert__10.0__96000__320000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.0077 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Violoncello__10.0__96000__160000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0421 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Violoncello__10.0__96000__192000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.0381 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Violoncello__10.0__96000__256000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.00161 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Violoncello__10.0__96000__320000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.00881 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Harpsichord__10.0__96000__160000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0231 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Harpsichord__10.0__96000__192000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.013 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Harpsichord__10.0__96000__256000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.0209 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Harpsichord__10.0__96000__320000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.00991 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__96000__160000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0351 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__96000__192000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.031 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__96000__256000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.00996 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCDEC__sqam__encdec__Male_Speech_English__10.0__96000__320000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.0174 (4)</td></tr>
</table>
</div>
</body>

View File

@ -0,0 +1,107 @@
<!DOCTYPE html><head><meta charset="UTF-8"><title>ENCODE Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px; width:100%} th {padding:4px; border-top:1px solid #8f908a} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn{background-color:rgba(214,137,16,0.4)} a:link {color: white;text-decoration: none;} a:visited {color: white} a:hover {color: white;font-weight:bold;} a:active {color: rgb(155, 155, 155)}</style></head>
<body><h2>Conformance for "ENCODE" passed!</h2>
<div><h3>SQAM - 100%</h3>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>MLD</th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__ABBA__10.0__48000__124800__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>0.361 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__ABBA__10.0__48000__128000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.372 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__ABBA__10.0__48000__160000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.221 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__ABBA__10.0__48000__192000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.191 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__ABBA__10.0__48000__500000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>0.00442 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Castanets__10.0__48000__124800__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>0.851 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Castanets__10.0__48000__128000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>1.45 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Castanets__10.0__48000__160000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.538 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Castanets__10.0__48000__192000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.517 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Castanets__10.0__48000__500000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>0.0206 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__48000__124800__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>0.681 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__48000__128000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.63 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__48000__160000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.467 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__48000__192000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.278 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__48000__500000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>0.00581 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Female_Speech_German__10.0__48000__124800__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>0.493 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Female_Speech_German__10.0__48000__128000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.485 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Female_Speech_German__10.0__48000__160000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.249 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Female_Speech_German__10.0__48000__192000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.199 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Female_Speech_German__10.0__48000__500000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>0.00658 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Glockenspiel__10.0__48000__124800__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>0.355 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Glockenspiel__10.0__48000__128000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.428 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Glockenspiel__10.0__48000__160000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.33 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Glockenspiel__10.0__48000__192000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.171 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Glockenspiel__10.0__48000__500000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>0.00517 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Piano_Schubert__10.0__48000__124800__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>0.0715 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Piano_Schubert__10.0__48000__128000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.0963 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Piano_Schubert__10.0__48000__160000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.0339 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Piano_Schubert__10.0__48000__192000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.0256 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Piano_Schubert__10.0__48000__500000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>0.000423 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Violoncello__10.0__48000__124800__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>0.172 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Violoncello__10.0__48000__128000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.171 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Violoncello__10.0__48000__160000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.0918 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Violoncello__10.0__48000__192000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.0543 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Violoncello__10.0__48000__500000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>0.00104 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Harpsichord__10.0__48000__124800__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>0.368 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Harpsichord__10.0__48000__128000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.43 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Harpsichord__10.0__48000__160000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.273 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Harpsichord__10.0__48000__192000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.185 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Harpsichord__10.0__48000__500000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>0.00448 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Male_Speech_English__10.0__48000__124800__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>124800</td><td class=pass>0.438 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Male_Speech_English__10.0__48000__128000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>128000</td><td class=pass>0.348 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Male_Speech_English__10.0__48000__160000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>160000</td><td class=pass>0.275 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Male_Speech_English__10.0__48000__192000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>192000</td><td class=pass>0.127 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Male_Speech_English__10.0__48000__500000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>500000</td><td class=pass>0.00409 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__ABBA__10.0__96000__149600__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>0.0938 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__ABBA__10.0__96000__160000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.000877 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__ABBA__10.0__96000__192000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.0106 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__ABBA__10.0__96000__256000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.00181 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__ABBA__10.0__96000__320000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.0354 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__ABBA__10.0__96000__500000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>0.0138 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Castanets__10.0__96000__149600__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>0.0169 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Castanets__10.0__96000__160000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0321 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Castanets__10.0__96000__192000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.000309 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Castanets__10.0__96000__256000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>2.05 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Castanets__10.0__96000__320000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>1.61 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Castanets__10.0__96000__500000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>0.48 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__96000__149600__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>0.00727 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__96000__160000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0124 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__96000__192000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.206 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__96000__256000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.000724 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__96000__320000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.0234 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Eddie_Rabbitt__10.0__96000__500000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>0.012 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Female_Speech_German__10.0__96000__149600__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>0.021 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Female_Speech_German__10.0__96000__160000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0141 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Female_Speech_German__10.0__96000__192000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.00316 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Female_Speech_German__10.0__96000__256000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.0047 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Female_Speech_German__10.0__96000__320000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.00451 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Female_Speech_German__10.0__96000__500000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>0.0223 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Glockenspiel__10.0__96000__149600__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>0.00552 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Glockenspiel__10.0__96000__160000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0114 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Glockenspiel__10.0__96000__192000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.00835 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Glockenspiel__10.0__96000__256000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.00222 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Glockenspiel__10.0__96000__320000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.00301 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Glockenspiel__10.0__96000__500000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>0.0132 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Piano_Schubert__10.0__96000__149600__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>0.0154 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Piano_Schubert__10.0__96000__160000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.012 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Piano_Schubert__10.0__96000__192000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.00901 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Piano_Schubert__10.0__96000__256000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.0072 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Piano_Schubert__10.0__96000__320000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.0077 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Piano_Schubert__10.0__96000__500000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>0.00398 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Violoncello__10.0__96000__149600__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>0.00236 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Violoncello__10.0__96000__160000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0421 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Violoncello__10.0__96000__192000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.0381 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Violoncello__10.0__96000__256000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.00161 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Violoncello__10.0__96000__320000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.00881 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Violoncello__10.0__96000__500000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>0.00438 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Harpsichord__10.0__96000__149600__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>0.0259 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Harpsichord__10.0__96000__160000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0231 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Harpsichord__10.0__96000__192000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.013 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Harpsichord__10.0__96000__256000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.0209 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Harpsichord__10.0__96000__320000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.00991 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Harpsichord__10.0__96000__500000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>0.00929 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Male_Speech_English__10.0__96000__149600__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>149600</td><td class=pass>0.0164 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Male_Speech_English__10.0__96000__160000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>160000</td><td class=pass>0.0351 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Male_Speech_English__10.0__96000__192000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>192000</td><td class=pass>0.031 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Male_Speech_English__10.0__96000__256000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>256000</td><td class=pass>0.00995 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Male_Speech_English__10.0__96000__320000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>320000</td><td class=pass>0.0174 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/ENCODE__sqam__encode__Male_Speech_English__10.0__96000__500000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>500000</td><td class=pass>0.0232 (4)</td></tr>
</table>
</div>
</body>

View File

@ -0,0 +1,338 @@
<!DOCTYPE html><head><meta charset="UTF-8"><title>FALLBACK Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px; width:100%} th {padding:4px; border-top:1px solid #8f908a} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn{background-color:rgba(214,137,16,0.4)} a:link {color: white;text-decoration: none;} a:visited {color: white} a:hover {color: white;font-weight:bold;} a:active {color: rgb(155, 155, 155)}</style></head>
<body><h2>Conformance for "FALLBACK" passed!</h2>
<div><h3>SQAM - 100%</h3>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>MLD</th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__ABBA__10.0__48000__62400__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.0045 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__ABBA__10.0__48000__93600__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.000274 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Castanets__10.0__48000__62400__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.0183 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Castanets__10.0__48000__93600__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.00211 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Eddie_Rabbitt__10.0__48000__62400__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.00947 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Eddie_Rabbitt__10.0__48000__93600__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.0514 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Female_Speech_German__10.0__48000__62400__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.469 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Female_Speech_German__10.0__48000__93600__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.385 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Glockenspiel__10.0__48000__62400__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.147 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Glockenspiel__10.0__48000__93600__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.00719 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Piano_Schubert__10.0__48000__62400__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.0788 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Piano_Schubert__10.0__48000__93600__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.00325 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Violoncello__10.0__48000__62400__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.0201 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Violoncello__10.0__48000__93600__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.0099 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Harpsichord__10.0__48000__62400__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.11 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Harpsichord__10.0__48000__93600__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.0867 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Male_Speech_English__10.0__48000__62400__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.179 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Male_Speech_English__10.0__48000__93600__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.0414 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__ABBA__5.0__48000__73600__0.txt">encode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>1.14 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__ABBA__5.0__48000__110400__0.txt">encode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.381 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Castanets__5.0__48000__73600__0.txt">encode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>0.682 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Castanets__5.0__48000__110400__0.txt">encode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.168 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Eddie_Rabbitt__5.0__48000__73600__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>0.141 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Eddie_Rabbitt__5.0__48000__110400__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.418 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Female_Speech_German__5.0__48000__73600__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>1.15 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Female_Speech_German__5.0__48000__110400__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.493 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Glockenspiel__5.0__48000__73600__0.txt">encode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>0.316 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Glockenspiel__5.0__48000__110400__0.txt">encode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.338 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Piano_Schubert__5.0__48000__73600__0.txt">encode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>0.22 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Piano_Schubert__5.0__48000__110400__0.txt">encode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.0768 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Violoncello__5.0__48000__73600__0.txt">encode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>0.26 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Violoncello__5.0__48000__110400__0.txt">encode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.167 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Harpsichord__5.0__48000__73600__0.txt">encode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>0.714 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Harpsichord__5.0__48000__110400__0.txt">encode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.0997 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Male_Speech_English__5.0__48000__73600__0.txt">encode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>1.26 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Male_Speech_English__5.0__48000__110400__0.txt">encode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.282 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__ABBA__2.5__48000__86400__0.txt">encode</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>0.525 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__ABBA__2.5__48000__128000__0.txt">encode</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.424 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Castanets__2.5__48000__86400__0.txt">encode</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>2.12 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Castanets__2.5__48000__128000__0.txt">encode</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.958 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Eddie_Rabbitt__2.5__48000__86400__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>1.62 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Eddie_Rabbitt__2.5__48000__128000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.608 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Female_Speech_German__2.5__48000__86400__0.txt">encode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>0.786 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Female_Speech_German__2.5__48000__128000__0.txt">encode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.655 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Glockenspiel__2.5__48000__86400__0.txt">encode</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>1.66 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Glockenspiel__2.5__48000__128000__0.txt">encode</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>1.11 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Piano_Schubert__2.5__48000__86400__0.txt">encode</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>0.154 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Piano_Schubert__2.5__48000__128000__0.txt">encode</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.116 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Violoncello__2.5__48000__86400__0.txt">encode</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>0.413 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Violoncello__2.5__48000__128000__0.txt">encode</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.151 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Harpsichord__2.5__48000__86400__0.txt">encode</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>0.905 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Harpsichord__2.5__48000__128000__0.txt">encode</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.887 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Male_Speech_English__2.5__48000__86400__0.txt">encode</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>0.986 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Male_Speech_English__2.5__48000__128000__0.txt">encode</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.366 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__ABBA__10.0__96000__74400__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.125 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__ABBA__10.0__96000__112000__0.txt">encode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.0109 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Castanets__10.0__96000__74400__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.112 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Castanets__10.0__96000__112000__0.txt">encode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.0592 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Eddie_Rabbitt__10.0__96000__74400__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.0464 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Eddie_Rabbitt__10.0__96000__112000__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.000146 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Female_Speech_German__10.0__96000__74400__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.379 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Female_Speech_German__10.0__96000__112000__0.txt">encode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.411 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Glockenspiel__10.0__96000__74400__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.633 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Glockenspiel__10.0__96000__112000__0.txt">encode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.0298 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Piano_Schubert__10.0__96000__74400__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.137 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Piano_Schubert__10.0__96000__112000__0.txt">encode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.0309 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Violoncello__10.0__96000__74400__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.203 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Violoncello__10.0__96000__112000__0.txt">encode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.12 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Harpsichord__10.0__96000__74400__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.132 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Harpsichord__10.0__96000__112000__0.txt">encode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.0699 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Male_Speech_English__10.0__96000__74400__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.336 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Male_Speech_English__10.0__96000__112000__0.txt">encode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.0223 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__ABBA__5.0__96000__86400__0.txt">encode</a></td><td>ABBA</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.443 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__ABBA__5.0__96000__129600__0.txt">encode</a></td><td>ABBA</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.196 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Castanets__5.0__96000__86400__0.txt">encode</a></td><td>Castanets</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.179 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Castanets__5.0__96000__129600__0.txt">encode</a></td><td>Castanets</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.0975 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Eddie_Rabbitt__5.0__96000__86400__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.133 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Eddie_Rabbitt__5.0__96000__129600__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.0992 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Female_Speech_German__5.0__96000__86400__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.889 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Female_Speech_German__5.0__96000__129600__0.txt">encode</a></td><td>Female_Speech_German</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.277 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Glockenspiel__5.0__96000__86400__0.txt">encode</a></td><td>Glockenspiel</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.515 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Glockenspiel__5.0__96000__129600__0.txt">encode</a></td><td>Glockenspiel</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.212 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Piano_Schubert__5.0__96000__86400__0.txt">encode</a></td><td>Piano_Schubert</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.136 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Piano_Schubert__5.0__96000__129600__0.txt">encode</a></td><td>Piano_Schubert</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.0205 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Violoncello__5.0__96000__86400__0.txt">encode</a></td><td>Violoncello</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.211 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Violoncello__5.0__96000__129600__0.txt">encode</a></td><td>Violoncello</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.0675 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Harpsichord__5.0__96000__86400__0.txt">encode</a></td><td>Harpsichord</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>1.18 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Harpsichord__5.0__96000__129600__0.txt">encode</a></td><td>Harpsichord</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.0895 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Male_Speech_English__5.0__96000__86400__0.txt">encode</a></td><td>Male_Speech_English</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.523 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Male_Speech_English__5.0__96000__129600__0.txt">encode</a></td><td>Male_Speech_English</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.28 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__ABBA__2.5__96000__99200__0.txt">encode</a></td><td>ABBA</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>0.633 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__ABBA__2.5__96000__147200__0.txt">encode</a></td><td>ABBA</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.294 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Castanets__2.5__96000__99200__0.txt">encode</a></td><td>Castanets</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>2.82 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Castanets__2.5__96000__147200__0.txt">encode</a></td><td>Castanets</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.2 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Eddie_Rabbitt__2.5__96000__99200__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>1.13 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Eddie_Rabbitt__2.5__96000__147200__0.txt">encode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.43 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Female_Speech_German__2.5__96000__99200__0.txt">encode</a></td><td>Female_Speech_German</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>0.756 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Female_Speech_German__2.5__96000__147200__0.txt">encode</a></td><td>Female_Speech_German</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.394 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Glockenspiel__2.5__96000__99200__0.txt">encode</a></td><td>Glockenspiel</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>0.983 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Glockenspiel__2.5__96000__147200__0.txt">encode</a></td><td>Glockenspiel</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.763 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Piano_Schubert__2.5__96000__99200__0.txt">encode</a></td><td>Piano_Schubert</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>0.171 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Piano_Schubert__2.5__96000__147200__0.txt">encode</a></td><td>Piano_Schubert</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.0687 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Violoncello__2.5__96000__99200__0.txt">encode</a></td><td>Violoncello</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>0.257 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Violoncello__2.5__96000__147200__0.txt">encode</a></td><td>Violoncello</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.107 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Harpsichord__2.5__96000__99200__0.txt">encode</a></td><td>Harpsichord</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>1.13 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Harpsichord__2.5__96000__147200__0.txt">encode</a></td><td>Harpsichord</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.358 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Male_Speech_English__2.5__96000__99200__0.txt">encode</a></td><td>Male_Speech_English</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>0.628 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encode__Male_Speech_English__2.5__96000__147200__0.txt">encode</a></td><td>Male_Speech_English</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.403 (4)</td></tr>
</table>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>MLD</th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__ABBA__10.0__48000__62400__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.0045 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__ABBA__10.0__48000__93600__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.000274 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Castanets__10.0__48000__62400__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.0183 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Castanets__10.0__48000__93600__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.00211 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Eddie_Rabbitt__10.0__48000__62400__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.00947 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Eddie_Rabbitt__10.0__48000__93600__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.0514 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Female_Speech_German__10.0__48000__62400__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.469 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Female_Speech_German__10.0__48000__93600__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.385 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Glockenspiel__10.0__48000__62400__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.147 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Glockenspiel__10.0__48000__93600__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.00719 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Piano_Schubert__10.0__48000__62400__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.0788 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Piano_Schubert__10.0__48000__93600__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.00325 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Violoncello__10.0__48000__62400__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.0201 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Violoncello__10.0__48000__93600__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.0099 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Harpsichord__10.0__48000__62400__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.11 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Harpsichord__10.0__48000__93600__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.0867 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Male_Speech_English__10.0__48000__62400__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>0.179 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Male_Speech_English__10.0__48000__93600__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>0.0414 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__ABBA__5.0__48000__73600__0.txt">encdec</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>1.14 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__ABBA__5.0__48000__110400__0.txt">encdec</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.381 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Castanets__5.0__48000__73600__0.txt">encdec</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>0.682 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Castanets__5.0__48000__110400__0.txt">encdec</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.168 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Eddie_Rabbitt__5.0__48000__73600__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>0.141 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Eddie_Rabbitt__5.0__48000__110400__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.418 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Female_Speech_German__5.0__48000__73600__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>1.15 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Female_Speech_German__5.0__48000__110400__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.493 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Glockenspiel__5.0__48000__73600__0.txt">encdec</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>0.316 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Glockenspiel__5.0__48000__110400__0.txt">encdec</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.338 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Piano_Schubert__5.0__48000__73600__0.txt">encdec</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>0.22 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Piano_Schubert__5.0__48000__110400__0.txt">encdec</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.0768 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Violoncello__5.0__48000__73600__0.txt">encdec</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>0.26 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Violoncello__5.0__48000__110400__0.txt">encdec</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.167 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Harpsichord__5.0__48000__73600__0.txt">encdec</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>0.714 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Harpsichord__5.0__48000__110400__0.txt">encdec</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.0997 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Male_Speech_English__5.0__48000__73600__0.txt">encdec</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>1.26 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Male_Speech_English__5.0__48000__110400__0.txt">encdec</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>0.282 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__ABBA__2.5__48000__86400__0.txt">encdec</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>0.525 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__ABBA__2.5__48000__128000__0.txt">encdec</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.424 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Castanets__2.5__48000__86400__0.txt">encdec</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>2.12 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Castanets__2.5__48000__128000__0.txt">encdec</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.958 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Eddie_Rabbitt__2.5__48000__86400__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>1.62 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Eddie_Rabbitt__2.5__48000__128000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.608 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Female_Speech_German__2.5__48000__86400__0.txt">encdec</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>0.786 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Female_Speech_German__2.5__48000__128000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.655 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Glockenspiel__2.5__48000__86400__0.txt">encdec</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>1.66 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Glockenspiel__2.5__48000__128000__0.txt">encdec</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>1.11 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Piano_Schubert__2.5__48000__86400__0.txt">encdec</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>0.154 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Piano_Schubert__2.5__48000__128000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.116 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Violoncello__2.5__48000__86400__0.txt">encdec</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>0.413 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Violoncello__2.5__48000__128000__0.txt">encdec</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.151 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Harpsichord__2.5__48000__86400__0.txt">encdec</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>0.905 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Harpsichord__2.5__48000__128000__0.txt">encdec</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.887 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Male_Speech_English__2.5__48000__86400__0.txt">encdec</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>0.986 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Male_Speech_English__2.5__48000__128000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>0.366 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__ABBA__10.0__96000__74400__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.125 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__ABBA__10.0__96000__112000__0.txt">encdec</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.0109 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Castanets__10.0__96000__74400__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.112 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Castanets__10.0__96000__112000__0.txt">encdec</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.0592 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Eddie_Rabbitt__10.0__96000__74400__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.0464 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Eddie_Rabbitt__10.0__96000__112000__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.000146 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Female_Speech_German__10.0__96000__74400__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.379 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Female_Speech_German__10.0__96000__112000__0.txt">encdec</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.411 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Glockenspiel__10.0__96000__74400__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.633 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Glockenspiel__10.0__96000__112000__0.txt">encdec</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.0298 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Piano_Schubert__10.0__96000__74400__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.137 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Piano_Schubert__10.0__96000__112000__0.txt">encdec</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.0309 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Violoncello__10.0__96000__74400__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.203 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Violoncello__10.0__96000__112000__0.txt">encdec</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.12 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Harpsichord__10.0__96000__74400__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.132 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Harpsichord__10.0__96000__112000__0.txt">encdec</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.0699 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Male_Speech_English__10.0__96000__74400__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>0.336 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Male_Speech_English__10.0__96000__112000__0.txt">encdec</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>0.0223 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__ABBA__5.0__96000__86400__0.txt">encdec</a></td><td>ABBA</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.443 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__ABBA__5.0__96000__129600__0.txt">encdec</a></td><td>ABBA</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.196 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Castanets__5.0__96000__86400__0.txt">encdec</a></td><td>Castanets</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.179 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Castanets__5.0__96000__129600__0.txt">encdec</a></td><td>Castanets</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.0975 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Eddie_Rabbitt__5.0__96000__86400__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.133 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Eddie_Rabbitt__5.0__96000__129600__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.0992 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Female_Speech_German__5.0__96000__86400__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.889 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Female_Speech_German__5.0__96000__129600__0.txt">encdec</a></td><td>Female_Speech_German</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.277 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Glockenspiel__5.0__96000__86400__0.txt">encdec</a></td><td>Glockenspiel</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.515 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Glockenspiel__5.0__96000__129600__0.txt">encdec</a></td><td>Glockenspiel</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.212 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Piano_Schubert__5.0__96000__86400__0.txt">encdec</a></td><td>Piano_Schubert</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.136 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Piano_Schubert__5.0__96000__129600__0.txt">encdec</a></td><td>Piano_Schubert</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.0205 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Violoncello__5.0__96000__86400__0.txt">encdec</a></td><td>Violoncello</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.211 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Violoncello__5.0__96000__129600__0.txt">encdec</a></td><td>Violoncello</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.0675 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Harpsichord__5.0__96000__86400__0.txt">encdec</a></td><td>Harpsichord</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>1.18 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Harpsichord__5.0__96000__129600__0.txt">encdec</a></td><td>Harpsichord</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.0895 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Male_Speech_English__5.0__96000__86400__0.txt">encdec</a></td><td>Male_Speech_English</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>0.523 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Male_Speech_English__5.0__96000__129600__0.txt">encdec</a></td><td>Male_Speech_English</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>0.28 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__ABBA__2.5__96000__99200__0.txt">encdec</a></td><td>ABBA</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>0.633 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__ABBA__2.5__96000__147200__0.txt">encdec</a></td><td>ABBA</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.294 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Castanets__2.5__96000__99200__0.txt">encdec</a></td><td>Castanets</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>2.82 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Castanets__2.5__96000__147200__0.txt">encdec</a></td><td>Castanets</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.2 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Eddie_Rabbitt__2.5__96000__99200__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>1.13 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Eddie_Rabbitt__2.5__96000__147200__0.txt">encdec</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.43 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Female_Speech_German__2.5__96000__99200__0.txt">encdec</a></td><td>Female_Speech_German</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>0.756 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Female_Speech_German__2.5__96000__147200__0.txt">encdec</a></td><td>Female_Speech_German</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.394 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Glockenspiel__2.5__96000__99200__0.txt">encdec</a></td><td>Glockenspiel</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>0.983 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Glockenspiel__2.5__96000__147200__0.txt">encdec</a></td><td>Glockenspiel</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.763 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Piano_Schubert__2.5__96000__99200__0.txt">encdec</a></td><td>Piano_Schubert</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>0.171 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Piano_Schubert__2.5__96000__147200__0.txt">encdec</a></td><td>Piano_Schubert</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.0687 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Violoncello__2.5__96000__99200__0.txt">encdec</a></td><td>Violoncello</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>0.257 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Violoncello__2.5__96000__147200__0.txt">encdec</a></td><td>Violoncello</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.107 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Harpsichord__2.5__96000__99200__0.txt">encdec</a></td><td>Harpsichord</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>1.13 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Harpsichord__2.5__96000__147200__0.txt">encdec</a></td><td>Harpsichord</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.358 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Male_Speech_English__2.5__96000__99200__0.txt">encdec</a></td><td>Male_Speech_English</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>0.628 (4)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__encdec__Male_Speech_English__2.5__96000__147200__0.txt">encdec</a></td><td>Male_Speech_English</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>0.403 (4)</td></tr>
</table>
<table>
<tr><th>Mode</th><th>Item</th><th>Frame Size</th><th>Samplerate</th><th>Bitrate</th><th>Max. Abs. Diff</th><th>RMS [dB]</th><th>RMS Reached [bits]</th></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__ABBA__10.0__48000__62400__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__ABBA__10.0__48000__93600__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Castanets__10.0__48000__62400__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Castanets__10.0__48000__93600__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>5.96e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Eddie_Rabbitt__10.0__48000__62400__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Eddie_Rabbitt__10.0__48000__93600__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Female_Speech_German__10.0__48000__62400__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Female_Speech_German__10.0__48000__93600__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Glockenspiel__10.0__48000__62400__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Glockenspiel__10.0__48000__93600__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Piano_Schubert__10.0__48000__62400__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Piano_Schubert__10.0__48000__93600__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Violoncello__10.0__48000__62400__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Violoncello__10.0__48000__93600__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Harpsichord__10.0__48000__62400__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Harpsichord__10.0__48000__93600__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Male_Speech_English__10.0__48000__62400__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>62400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Male_Speech_English__10.0__48000__93600__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>48000</td><td>93600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__ABBA__5.0__48000__73600__0.txt">decode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__ABBA__5.0__48000__110400__0.txt">decode</a></td><td>ABBA</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Castanets__5.0__48000__73600__0.txt">decode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Castanets__5.0__48000__110400__0.txt">decode</a></td><td>Castanets</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Eddie_Rabbitt__5.0__48000__73600__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Eddie_Rabbitt__5.0__48000__110400__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>4.77e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Female_Speech_German__5.0__48000__73600__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Female_Speech_German__5.0__48000__110400__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Glockenspiel__5.0__48000__73600__0.txt">decode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Glockenspiel__5.0__48000__110400__0.txt">decode</a></td><td>Glockenspiel</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-152 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Piano_Schubert__5.0__48000__73600__0.txt">decode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Piano_Schubert__5.0__48000__110400__0.txt">decode</a></td><td>Piano_Schubert</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Violoncello__5.0__48000__73600__0.txt">decode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Violoncello__5.0__48000__110400__0.txt">decode</a></td><td>Violoncello</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Harpsichord__5.0__48000__73600__0.txt">decode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Harpsichord__5.0__48000__110400__0.txt">decode</a></td><td>Harpsichord</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Male_Speech_English__5.0__48000__73600__0.txt">decode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>73600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Male_Speech_English__5.0__48000__110400__0.txt">decode</a></td><td>Male_Speech_English</td><td>5.0</td><td>48000</td><td>110400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__ABBA__2.5__48000__86400__0.txt">decode</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__ABBA__2.5__48000__128000__0.txt">decode</a></td><td>ABBA</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Castanets__2.5__48000__86400__0.txt">decode</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Castanets__2.5__48000__128000__0.txt">decode</a></td><td>Castanets</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>4.77e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Eddie_Rabbitt__2.5__48000__86400__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Eddie_Rabbitt__2.5__48000__128000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Female_Speech_German__2.5__48000__86400__0.txt">decode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Female_Speech_German__2.5__48000__128000__0.txt">decode</a></td><td>Female_Speech_German</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Glockenspiel__2.5__48000__86400__0.txt">decode</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Glockenspiel__2.5__48000__128000__0.txt">decode</a></td><td>Glockenspiel</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-152 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Piano_Schubert__2.5__48000__86400__0.txt">decode</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Piano_Schubert__2.5__48000__128000__0.txt">decode</a></td><td>Piano_Schubert</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Violoncello__2.5__48000__86400__0.txt">decode</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Violoncello__2.5__48000__128000__0.txt">decode</a></td><td>Violoncello</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Harpsichord__2.5__48000__86400__0.txt">decode</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Harpsichord__2.5__48000__128000__0.txt">decode</a></td><td>Harpsichord</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Male_Speech_English__2.5__48000__86400__0.txt">decode</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>86400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Male_Speech_English__2.5__48000__128000__0.txt">decode</a></td><td>Male_Speech_English</td><td>2.5</td><td>48000</td><td>128000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__ABBA__10.0__96000__74400__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__ABBA__10.0__96000__112000__0.txt">decode</a></td><td>ABBA</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Castanets__10.0__96000__74400__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>4.77e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Castanets__10.0__96000__112000__0.txt">decode</a></td><td>Castanets</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>4.77e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Eddie_Rabbitt__10.0__96000__74400__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Eddie_Rabbitt__10.0__96000__112000__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Female_Speech_German__10.0__96000__74400__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Female_Speech_German__10.0__96000__112000__0.txt">decode</a></td><td>Female_Speech_German</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Glockenspiel__10.0__96000__74400__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Glockenspiel__10.0__96000__112000__0.txt">decode</a></td><td>Glockenspiel</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Piano_Schubert__10.0__96000__74400__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Piano_Schubert__10.0__96000__112000__0.txt">decode</a></td><td>Piano_Schubert</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Violoncello__10.0__96000__74400__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Violoncello__10.0__96000__112000__0.txt">decode</a></td><td>Violoncello</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Harpsichord__10.0__96000__74400__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Harpsichord__10.0__96000__112000__0.txt">decode</a></td><td>Harpsichord</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Male_Speech_English__10.0__96000__74400__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>74400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Male_Speech_English__10.0__96000__112000__0.txt">decode</a></td><td>Male_Speech_English</td><td>10.0</td><td>96000</td><td>112000</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__ABBA__5.0__96000__86400__0.txt">decode</a></td><td>ABBA</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__ABBA__5.0__96000__129600__0.txt">decode</a></td><td>ABBA</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Castanets__5.0__96000__86400__0.txt">decode</a></td><td>Castanets</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>4.77e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Castanets__5.0__96000__129600__0.txt">decode</a></td><td>Castanets</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Eddie_Rabbitt__5.0__96000__86400__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Eddie_Rabbitt__5.0__96000__129600__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Female_Speech_German__5.0__96000__86400__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Female_Speech_German__5.0__96000__129600__0.txt">decode</a></td><td>Female_Speech_German</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Glockenspiel__5.0__96000__86400__0.txt">decode</a></td><td>Glockenspiel</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Glockenspiel__5.0__96000__129600__0.txt">decode</a></td><td>Glockenspiel</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Piano_Schubert__5.0__96000__86400__0.txt">decode</a></td><td>Piano_Schubert</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Piano_Schubert__5.0__96000__129600__0.txt">decode</a></td><td>Piano_Schubert</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Violoncello__5.0__96000__86400__0.txt">decode</a></td><td>Violoncello</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Violoncello__5.0__96000__129600__0.txt">decode</a></td><td>Violoncello</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Harpsichord__5.0__96000__86400__0.txt">decode</a></td><td>Harpsichord</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Harpsichord__5.0__96000__129600__0.txt">decode</a></td><td>Harpsichord</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-154 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Male_Speech_English__5.0__96000__86400__0.txt">decode</a></td><td>Male_Speech_English</td><td>5.0</td><td>96000</td><td>86400</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Male_Speech_English__5.0__96000__129600__0.txt">decode</a></td><td>Male_Speech_English</td><td>5.0</td><td>96000</td><td>129600</td><td class=pass>4.77e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__ABBA__2.5__96000__99200__0.txt">decode</a></td><td>ABBA</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__ABBA__2.5__96000__147200__0.txt">decode</a></td><td>ABBA</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Castanets__2.5__96000__99200__0.txt">decode</a></td><td>Castanets</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Castanets__2.5__96000__147200__0.txt">decode</a></td><td>Castanets</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-156 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Eddie_Rabbitt__2.5__96000__99200__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Eddie_Rabbitt__2.5__96000__147200__0.txt">decode</a></td><td>Eddie_Rabbitt</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Female_Speech_German__2.5__96000__99200__0.txt">decode</a></td><td>Female_Speech_German</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Female_Speech_German__2.5__96000__147200__0.txt">decode</a></td><td>Female_Speech_German</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-149 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Glockenspiel__2.5__96000__99200__0.txt">decode</a></td><td>Glockenspiel</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Glockenspiel__2.5__96000__147200__0.txt">decode</a></td><td>Glockenspiel</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-151 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Piano_Schubert__2.5__96000__99200__0.txt">decode</a></td><td>Piano_Schubert</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Piano_Schubert__2.5__96000__147200__0.txt">decode</a></td><td>Piano_Schubert</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-150 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Violoncello__2.5__96000__99200__0.txt">decode</a></td><td>Violoncello</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-147 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Violoncello__2.5__96000__147200__0.txt">decode</a></td><td>Violoncello</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>2.38e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Harpsichord__2.5__96000__99200__0.txt">decode</a></td><td>Harpsichord</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Harpsichord__2.5__96000__147200__0.txt">decode</a></td><td>Harpsichord</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>1.19e-07 (0.00148)</td><td class=pass>-155 (-137)</td><td class=none>24 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Male_Speech_English__2.5__96000__99200__0.txt">decode</a></td><td>Male_Speech_English</td><td>2.5</td><td>96000</td><td>99200</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
<tr><td><a href="lc3plus_conformance_2024-02-27_14-48_log/FALLBACK__sqam__decode__Male_Speech_English__2.5__96000__147200__0.txt">decode</a></td><td>Male_Speech_English</td><td>2.5</td><td>96000</td><td>147200</td><td class=pass>3.58e-07 (0.00148)</td><td class=pass>-148 (-137)</td><td class=none>23 (22)</td></tr>
</table>
</div>
</body>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,31 @@
<!DOCTYPE html><head><title>music_decode_10m Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px} th {padding:4px} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn {background-color:rgba(214,137,16,0.4)}</style></head><body><h2>Conformance test for "music_decode_10m" (Frame Size 10 ms) passed!</h2><div><table><tr><h3>SQAM items - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>Max. Abs. Diff (threshold)</th><th>RMS (threshold) [dB]</th><th>RMS reached (threshold) [bits]</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td>0.000305</td><td>-91.081</td><td>14</td></tr>
<tr><td>decode</td><td>ABBA</td><td>48000</td><td>80000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-95.243 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>ABBA</td><td>48000</td><td>96000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-95.229 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>ABBA</td><td>48000</td><td>124000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-95.312 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>48000</td><td>80000</td><td class=pass>0.000305 (0.00148)</td><td class=pass>-96.625 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>48000</td><td>96000</td><td class=pass>0.000275 (0.00148)</td><td class=pass>-96.779 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>48000</td><td>124000</td><td class=pass>0.000305 (0.00148)</td><td class=pass>-96.627 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>48000</td><td>80000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-91.876 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>48000</td><td>96000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-91.870 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>48000</td><td>124000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-91.952 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>48000</td><td>80000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-92.550 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>48000</td><td>96000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-92.651 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>48000</td><td>124000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-92.678 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>48000</td><td>80000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-94.290 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>48000</td><td>96000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-94.434 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>48000</td><td>124000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-94.411 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>48000</td><td>80000</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-99.407 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>48000</td><td>96000</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-99.130 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>48000</td><td>124000</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-99.154 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>48000</td><td>80000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-91.226 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>48000</td><td>96000</td><td class=pass>0.000275 (0.00148)</td><td class=pass>-91.118 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>48000</td><td>124000</td><td class=pass>0.000275 (0.00148)</td><td class=pass>-91.081 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>48000</td><td>80000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-94.613 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>48000</td><td>96000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-94.642 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>48000</td><td>124000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-94.628 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>48000</td><td>80000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-91.514 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>48000</td><td>96000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-91.497 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>48000</td><td>124000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-91.550 (-89.060)</td><td class=none>14 (14)</td></tr>
</table></div></body>

View File

@ -0,0 +1,31 @@
<!DOCTYPE html><head><title>music_decode_7m5 Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px} th {padding:4px} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn {background-color:rgba(214,137,16,0.4)}</style></head><body><h2>Conformance test for "music_decode_7m5" (Frame Size 7.5 ms) passed!</h2><div><table><tr><h3>SQAM items - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>Max. Abs. Diff (threshold)</th><th>RMS (threshold) [dB]</th><th>RMS reached (threshold) [bits]</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td>0.000427</td><td>-91.576</td><td>14</td></tr>
<tr><td>decode</td><td>ABBA</td><td>48000</td><td>80000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-95.411 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>ABBA</td><td>48000</td><td>96000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-95.366 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>ABBA</td><td>48000</td><td>124800</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-95.443 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>48000</td><td>80000</td><td class=pass>0.000336 (0.00148)</td><td class=pass>-97.539 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>48000</td><td>96000</td><td class=pass>0.000366 (0.00148)</td><td class=pass>-97.598 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>48000</td><td>124800</td><td class=pass>0.000336 (0.00148)</td><td class=pass>-97.507 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>48000</td><td>80000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-92.158 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>48000</td><td>96000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-92.181 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>48000</td><td>124800</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-92.207 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>48000</td><td>80000</td><td class=pass>0.000275 (0.00148)</td><td class=pass>-92.724 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>48000</td><td>96000</td><td class=pass>0.000305 (0.00148)</td><td class=pass>-92.892 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>48000</td><td>124800</td><td class=pass>0.000305 (0.00148)</td><td class=pass>-92.839 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>48000</td><td>80000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-95.027 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>48000</td><td>96000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-95.013 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>48000</td><td>124800</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-94.997 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>48000</td><td>80000</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-99.280 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>48000</td><td>96000</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-99.164 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>48000</td><td>124800</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-99.153 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>48000</td><td>80000</td><td class=pass>0.000366 (0.00148)</td><td class=pass>-91.761 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>48000</td><td>96000</td><td class=pass>0.000366 (0.00148)</td><td class=pass>-91.618 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>48000</td><td>124800</td><td class=pass>0.000427 (0.00148)</td><td class=pass>-91.595 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>48000</td><td>80000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-94.768 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>48000</td><td>96000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-94.831 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>48000</td><td>124800</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-94.834 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>48000</td><td>80000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-91.654 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>48000</td><td>96000</td><td class=pass>0.000275 (0.00148)</td><td class=pass>-91.576 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>48000</td><td>124800</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-91.643 (-89.060)</td><td class=none>14 (14)</td></tr>
</table></div></body>

View File

@ -0,0 +1,42 @@
<!DOCTYPE html><head><title>music_encdec_10m Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px} th {padding:4px} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn {background-color:rgba(214,137,16,0.4)}</style></head><body><h2>Conformance test for "music_encdec_10m" (Frame Size 10 ms) passed!</h2><div><table><tr><h3>Band-limited signals - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.00548</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_16000_wb</td><td>48000</td><td>96000</td><td class=>-0.00683</td><td class=pass>0.000525 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_24000_sswb</td><td>48000</td><td>96000</td><td class=>-0.0148</td><td class=pass>0.00246 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_32000_swb</td><td>48000</td><td>96000</td><td class=>-0.141</td><td class=pass>0.000126 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>48000</td><td>96000</td><td class=>-0.0253</td><td class=pass>0.00548 (0.06)</td></tr>
</table></div></body><div><table><tr><h3>Signals above 20kHz - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>Energy (threshold) [dB]</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td></tr>
<tr><td>encode</td><td>White_Noise_HP20</td><td>48000</td><td>96000</td><td class=pass>68.949 (70)</td></tr>
</table></div></body><div><table><tr><h3>SQAM items - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.0225</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>48000</td><td>80000</td><td class=>-0.425</td><td class=pass>0.00594 (0.06)</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>48000</td><td>96000</td><td class=>-0.238</td><td class=pass>0.00249 (0.06)</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>48000</td><td>124000</td><td class=>-0.0418</td><td class=pass>0.0038 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>48000</td><td>80000</td><td class=>-0.463</td><td class=pass>0.000316 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>48000</td><td>96000</td><td class=>-0.257</td><td class=pass>0.00687 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>48000</td><td>124000</td><td class=>-0.0561</td><td class=pass>0.00505 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>48000</td><td>80000</td><td class=>-0.386</td><td class=pass>0.00594 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>48000</td><td>96000</td><td class=>-0.199</td><td class=pass>0.00114 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>48000</td><td>124000</td><td class=>-0.0374</td><td class=pass>0.00132 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>48000</td><td>80000</td><td class=>-0.461</td><td class=pass>0.00133 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>48000</td><td>96000</td><td class=>-0.223</td><td class=pass>0.00355 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>48000</td><td>124000</td><td class=>-0.0325</td><td class=pass>0.00215 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>48000</td><td>80000</td><td class=>-1.236</td><td class=pass>0.0009 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>48000</td><td>96000</td><td class=>-0.278</td><td class=pass>0.0138 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>48000</td><td>124000</td><td class=>-0.0599</td><td class=pass>0.0031 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>48000</td><td>80000</td><td class=>-1.171</td><td class=pass>0.00618 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>48000</td><td>96000</td><td class=>-0.65</td><td class=pass>0.00135 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>48000</td><td>124000</td><td class=>-0.187</td><td class=pass>0.00303 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>48000</td><td>80000</td><td class=>-0.416</td><td class=pass>0.00385 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>48000</td><td>96000</td><td class=>-0.178</td><td class=pass>0.00265 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>48000</td><td>124000</td><td class=>-0.0361</td><td class=pass>0.00788 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>48000</td><td>80000</td><td class=>-0.258</td><td class=pass>0.000657 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>48000</td><td>96000</td><td class=>-0.108</td><td class=pass>0.000254 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>48000</td><td>124000</td><td class=>-0.00141</td><td class=pass>0.00173 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>48000</td><td>80000</td><td class=>-0.889</td><td class=pass>0.0225 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>48000</td><td>96000</td><td class=>-0.533</td><td class=pass>0.0128 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>48000</td><td>124000</td><td class=>-0.125</td><td class=pass>0.0038 (0.06)</td></tr>
</table></div></body>

View File

@ -0,0 +1,42 @@
<!DOCTYPE html><head><title>music_encdec_7m5 Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px} th {padding:4px} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn {background-color:rgba(214,137,16,0.4)}</style></head><body><h2>Conformance test for "music_encdec_7m5" (Frame Size 7.5 ms) passed!</h2><div><table><tr><h3>Band-limited signals - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.00687</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_16000_wb</td><td>48000</td><td>96000</td><td class=>-0.000429</td><td class=pass>0.00155 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_24000_sswb</td><td>48000</td><td>96000</td><td class=>-0.0542</td><td class=pass>0.00193 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_32000_swb</td><td>48000</td><td>96000</td><td class=>-0.202</td><td class=pass>0.00687 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>48000</td><td>96000</td><td class=>-0.00225</td><td class=pass>0.00105 (0.06)</td></tr>
</table></div></body><div><table><tr><h3>Signals above 20kHz - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>Energy (threshold) [dB]</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td></tr>
<tr><td>encode</td><td>White_Noise_HP20</td><td>48000</td><td>96000</td><td class=pass>69.594 (70)</td></tr>
</table></div></body><div><table><tr><h3>SQAM items - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.0339</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>48000</td><td>80000</td><td class=>-0.467</td><td class=pass>0.00588 (0.06)</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>48000</td><td>96000</td><td class=>-0.28</td><td class=pass>0.000468 (0.06)</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>48000</td><td>124800</td><td class=>-0.0612</td><td class=pass>0.000207 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>48000</td><td>80000</td><td class=>-0.549</td><td class=pass>0.00068 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>48000</td><td>96000</td><td class=>-0.28</td><td class=pass>0.00313 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>48000</td><td>124800</td><td class=>-0.063</td><td class=pass>0.00147 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>48000</td><td>80000</td><td class=>-0.465</td><td class=pass>0.000874 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>48000</td><td>96000</td><td class=>-0.251</td><td class=pass>0.00197 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>48000</td><td>124800</td><td class=>-0.0526</td><td class=pass>0.00153 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>48000</td><td>80000</td><td class=>-0.572</td><td class=pass>0.00368 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>48000</td><td>96000</td><td class=>-0.283</td><td class=pass>0.00587 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>48000</td><td>124800</td><td class=>-0.0581</td><td class=pass>0.00258 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>48000</td><td>80000</td><td class=>-1.067</td><td class=pass>0.0143 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>48000</td><td>96000</td><td class=>-0.148</td><td class=pass>0.00101 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>48000</td><td>124800</td><td class=>-0.0126</td><td class=pass>0.00288 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>48000</td><td>80000</td><td class=>-1.349</td><td class=pass>0.000708 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>48000</td><td>96000</td><td class=>-0.8</td><td class=pass>0.004 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>48000</td><td>124800</td><td class=>-0.238</td><td class=pass>0.00127 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>48000</td><td>80000</td><td class=>-0.512</td><td class=pass>0.00563 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>48000</td><td>96000</td><td class=>-0.233</td><td class=pass>0.00225 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>48000</td><td>124800</td><td class=>-0.0403</td><td class=pass>0.00311 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>48000</td><td>80000</td><td class=>-0.304</td><td class=pass>0.00182 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>48000</td><td>96000</td><td class=>-0.131</td><td class=pass>0.000234 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>48000</td><td>124800</td><td class=>-0.0129</td><td class=pass>0.000554 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>48000</td><td>80000</td><td class=>-1.039</td><td class=pass>0.0339 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>48000</td><td>96000</td><td class=>-0.661</td><td class=pass>0.0262 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>48000</td><td>124800</td><td class=>-0.169</td><td class=pass>0.00292 (0.06)</td></tr>
</table></div></body>

View File

@ -0,0 +1,42 @@
<!DOCTYPE html><head><title>music_encode_10m Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px} th {padding:4px} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn {background-color:rgba(214,137,16,0.4)}</style></head><body><h2>Conformance test for "music_encode_10m" (Frame Size 10 ms) passed!</h2><div><table><tr><h3>Band-limited signals - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.00548</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_16000_wb</td><td>48000</td><td>96000</td><td class=>-0.00683</td><td class=pass>0.000525 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_24000_sswb</td><td>48000</td><td>96000</td><td class=>-0.0148</td><td class=pass>0.00246 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_32000_swb</td><td>48000</td><td>96000</td><td class=>-0.141</td><td class=pass>0.000126 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>48000</td><td>96000</td><td class=>-0.0253</td><td class=pass>0.00548 (0.06)</td></tr>
</table></div></body><div><table><tr><h3>Signals above 20kHz - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>Energy (threshold) [dB]</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td></tr>
<tr><td>encode</td><td>White_Noise_HP20</td><td>48000</td><td>96000</td><td class=pass>68.949 (70)</td></tr>
</table></div></body><div><table><tr><h3>SQAM items - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.021</td></tr>
<tr><td>encode</td><td>ABBA</td><td>48000</td><td>80000</td><td class=>-0.425</td><td class=pass>0.00619 (0.06)</td></tr>
<tr><td>encode</td><td>ABBA</td><td>48000</td><td>96000</td><td class=>-0.238</td><td class=pass>0.00242 (0.06)</td></tr>
<tr><td>encode</td><td>ABBA</td><td>48000</td><td>124000</td><td class=>-0.0418</td><td class=pass>0.00373 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>48000</td><td>80000</td><td class=>-0.463</td><td class=pass>0.000311 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>48000</td><td>96000</td><td class=>-0.257</td><td class=pass>0.00634 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>48000</td><td>124000</td><td class=>-0.0561</td><td class=pass>0.005 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>48000</td><td>80000</td><td class=>-0.386</td><td class=pass>0.00559 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>48000</td><td>96000</td><td class=>-0.199</td><td class=pass>0.00136 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>48000</td><td>124000</td><td class=>-0.0374</td><td class=pass>0.000781 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>48000</td><td>80000</td><td class=>-0.461</td><td class=pass>0.00229 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>48000</td><td>96000</td><td class=>-0.223</td><td class=pass>0.00301 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>48000</td><td>124000</td><td class=>-0.0325</td><td class=pass>0.00136 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>48000</td><td>80000</td><td class=>-1.236</td><td class=pass>0.0143 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>48000</td><td>96000</td><td class=>-0.278</td><td class=pass>0.00424 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>48000</td><td>124000</td><td class=>-0.0599</td><td class=pass>0.00104 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>48000</td><td>80000</td><td class=>-1.171</td><td class=pass>0.00453 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>48000</td><td>96000</td><td class=>-0.65</td><td class=pass>0.000973 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>48000</td><td>124000</td><td class=>-0.187</td><td class=pass>0.00336 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>48000</td><td>80000</td><td class=>-0.416</td><td class=pass>0.00364 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>48000</td><td>96000</td><td class=>-0.178</td><td class=pass>0.00298 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>48000</td><td>124000</td><td class=>-0.0361</td><td class=pass>0.00714 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>48000</td><td>80000</td><td class=>-0.258</td><td class=pass>0.000973 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>48000</td><td>96000</td><td class=>-0.108</td><td class=pass>0.0008 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>48000</td><td>124000</td><td class=>-0.00141</td><td class=pass>0.00131 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>48000</td><td>80000</td><td class=>-0.889</td><td class=pass>0.021 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>48000</td><td>96000</td><td class=>-0.533</td><td class=pass>0.0118 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>48000</td><td>124000</td><td class=>-0.125</td><td class=pass>0.00334 (0.06)</td></tr>
</table></div></body>

View File

@ -0,0 +1,42 @@
<!DOCTYPE html><head><title>music_encode_7m5 Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px} th {padding:4px} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn {background-color:rgba(214,137,16,0.4)}</style></head><body><h2>Conformance test for "music_encode_7m5" (Frame Size 7.5 ms) passed!</h2><div><table><tr><h3>Band-limited signals - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.00687</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_16000_wb</td><td>48000</td><td>96000</td><td class=>-0.000429</td><td class=pass>0.00155 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_24000_sswb</td><td>48000</td><td>96000</td><td class=>-0.0542</td><td class=pass>0.00193 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_32000_swb</td><td>48000</td><td>96000</td><td class=>-0.202</td><td class=pass>0.00687 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>48000</td><td>96000</td><td class=>-0.00225</td><td class=pass>0.00105 (0.06)</td></tr>
</table></div></body><div><table><tr><h3>Signals above 20kHz - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>Energy (threshold) [dB]</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td></tr>
<tr><td>encode</td><td>White_Noise_HP20</td><td>48000</td><td>96000</td><td class=pass>69.594 (70)</td></tr>
</table></div></body><div><table><tr><h3>SQAM items - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.0305</td></tr>
<tr><td>encode</td><td>ABBA</td><td>48000</td><td>80000</td><td class=>-0.467</td><td class=pass>0.00547 (0.06)</td></tr>
<tr><td>encode</td><td>ABBA</td><td>48000</td><td>96000</td><td class=>-0.28</td><td class=pass>0.000128 (0.06)</td></tr>
<tr><td>encode</td><td>ABBA</td><td>48000</td><td>124800</td><td class=>-0.0612</td><td class=pass>0.000268 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>48000</td><td>80000</td><td class=>-0.549</td><td class=pass>0.000617 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>48000</td><td>96000</td><td class=>-0.28</td><td class=pass>0.00297 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>48000</td><td>124800</td><td class=>-0.063</td><td class=pass>0.00118 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>48000</td><td>80000</td><td class=>-0.465</td><td class=pass>0.000562 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>48000</td><td>96000</td><td class=>-0.251</td><td class=pass>0.00185 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>48000</td><td>124800</td><td class=>-0.0526</td><td class=pass>0.00153 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>48000</td><td>80000</td><td class=>-0.572</td><td class=pass>0.00108 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>48000</td><td>96000</td><td class=>-0.283</td><td class=pass>0.00547 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>48000</td><td>124800</td><td class=>-0.0581</td><td class=pass>0.00204 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>48000</td><td>80000</td><td class=>-1.067</td><td class=pass>0.0182 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>48000</td><td>96000</td><td class=>-0.148</td><td class=pass>0.00174 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>48000</td><td>124800</td><td class=>-0.0126</td><td class=pass>0.00155 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>48000</td><td>80000</td><td class=>-1.349</td><td class=pass>0.000076 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>48000</td><td>96000</td><td class=>-0.8</td><td class=pass>0.00349 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>48000</td><td>124800</td><td class=>-0.238</td><td class=pass>0.00115 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>48000</td><td>80000</td><td class=>-0.512</td><td class=pass>0.00593 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>48000</td><td>96000</td><td class=>-0.233</td><td class=pass>0.000789 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>48000</td><td>124800</td><td class=>-0.0403</td><td class=pass>0.00207 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>48000</td><td>80000</td><td class=>-0.304</td><td class=pass>0.00143 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>48000</td><td>96000</td><td class=>-0.131</td><td class=pass>0.00124 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>48000</td><td>124800</td><td class=>-0.0129</td><td class=pass>0.000591 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>48000</td><td>80000</td><td class=>-1.039</td><td class=pass>0.0305 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>48000</td><td>96000</td><td class=>-0.661</td><td class=pass>0.0247 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>48000</td><td>124800</td><td class=>-0.169</td><td class=pass>0.0022 (0.06)</td></tr>
</table></div></body>

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -0,0 +1,40 @@
<!DOCTYPE html><head><title>speech_decode_10m Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px} th {padding:4px} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn {background-color:rgba(214,137,16,0.4)}</style></head><body><h2>Conformance test for "speech_decode_10m" (Frame Size 10 ms) passed!</h2><div><table><tr><h3>SQAM items - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>Max. Abs. Diff (threshold)</th><th>RMS (threshold) [dB]</th><th>RMS reached (threshold) [bits]</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td>0.000305</td><td>-90.738</td><td>14</td></tr>
<tr><td>decode</td><td>ABBA</td><td>8000</td><td>24000</td><td class=pass>0.000122 (0.00148)</td><td class=pass>-95.673 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>ABBA</td><td>16000</td><td>32000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-95.876 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>ABBA</td><td>24000</td><td>48000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-95.672 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>ABBA</td><td>32000</td><td>64000</td><td class=pass>0.000122 (0.00148)</td><td class=pass>-95.694 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>8000</td><td>24000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-98.657 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>16000</td><td>32000</td><td class=pass>0.000305 (0.00148)</td><td class=pass>-97.770 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>24000</td><td>48000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-97.970 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>32000</td><td>64000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-97.406 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>8000</td><td>24000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-92.049 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>16000</td><td>32000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-92.538 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>24000</td><td>48000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-92.277 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>32000</td><td>64000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-92.062 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>8000</td><td>24000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-92.730 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>16000</td><td>32000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-92.809 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>24000</td><td>48000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-92.812 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>32000</td><td>64000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-92.670 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>8000</td><td>24000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-95.675 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>16000</td><td>32000</td><td class=pass>0.000122 (0.00148)</td><td class=pass>-95.785 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>24000</td><td>48000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-95.803 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>32000</td><td>64000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-93.617 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>8000</td><td>24000</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-100.095 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>16000</td><td>32000</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-100.365 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>24000</td><td>48000</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-100.086 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>32000</td><td>64000</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-99.716 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>8000</td><td>24000</td><td class=pass>0.000305 (0.00148)</td><td class=pass>-90.738 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>16000</td><td>32000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-91.434 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>24000</td><td>48000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-91.147 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>32000</td><td>64000</td><td class=pass>0.000305 (0.00148)</td><td class=pass>-91.259 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>8000</td><td>24000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-94.150 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>16000</td><td>32000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-94.523 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>24000</td><td>48000</td><td class=pass>0.000122 (0.00148)</td><td class=pass>-94.756 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>32000</td><td>64000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-94.785 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>8000</td><td>24000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-91.467 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>16000</td><td>32000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-91.686 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>24000</td><td>48000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-92.017 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>32000</td><td>64000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-92.142 (-89.060)</td><td class=none>14 (14)</td></tr>
</table></div></body>

View File

@ -0,0 +1,49 @@
<!DOCTYPE html><head><title>speech_decode_7m5 Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px} th {padding:4px} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn {background-color:rgba(214,137,16,0.4)}</style></head><body><h2>Conformance test for "speech_decode_7m5" (Frame Size 7.5 ms) passed!</h2><div><table><tr><h3>SQAM items - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>Max. Abs. Diff (threshold)</th><th>RMS (threshold) [dB]</th><th>RMS reached (threshold) [bits]</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td>0.000275</td><td>-90.321</td><td>14</td></tr>
<tr><td>decode</td><td>ABBA</td><td>8000</td><td>27734</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-94.923 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>ABBA</td><td>16000</td><td>32000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-95.386 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>ABBA</td><td>24000</td><td>48000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-95.897 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>ABBA</td><td>32000</td><td>61867</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-95.525 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>ABBA</td><td>32000</td><td>64000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-95.527 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>8000</td><td>27734</td><td class=pass>0.000122 (0.00148)</td><td class=pass>-98.854 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>16000</td><td>32000</td><td class=pass>0.000275 (0.00148)</td><td class=pass>-97.588 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>24000</td><td>48000</td><td class=pass>0.000275 (0.00148)</td><td class=pass>-98.077 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>32000</td><td>61867</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-97.819 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Castanets</td><td>32000</td><td>64000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-97.700 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>8000</td><td>27734</td><td class=pass>0.000275 (0.00148)</td><td class=pass>-90.990 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>16000</td><td>32000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-91.900 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>24000</td><td>48000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-92.421 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>32000</td><td>61867</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-92.467 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Eddie_Rabbitt</td><td>32000</td><td>64000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-92.463 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>8000</td><td>27734</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-92.928 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>16000</td><td>32000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-92.751 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>24000</td><td>48000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-93.275 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>32000</td><td>61867</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-92.956 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Female_Speech_German</td><td>32000</td><td>64000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-92.882 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>8000</td><td>27734</td><td class=pass>0.000122 (0.00148)</td><td class=pass>-96.711 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>16000</td><td>32000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-94.906 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>24000</td><td>48000</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-94.614 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>32000</td><td>61867</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-96.586 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Glockenspiel</td><td>32000</td><td>64000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-96.532 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>8000</td><td>27734</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-99.780 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>16000</td><td>32000</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-99.456 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>24000</td><td>48000</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-100.110 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>32000</td><td>61867</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-99.866 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Harpsichord</td><td>32000</td><td>64000</td><td class=pass>0.000061 (0.00148)</td><td class=pass>-99.788 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>8000</td><td>27734</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-90.321 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>16000</td><td>32000</td><td class=pass>0.000275 (0.00148)</td><td class=pass>-91.112 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>24000</td><td>48000</td><td class=pass>0.000244 (0.00148)</td><td class=pass>-92.109 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>32000</td><td>61867</td><td class=pass>0.000275 (0.00148)</td><td class=pass>-92.204 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Male_Speech_English</td><td>32000</td><td>64000</td><td class=pass>0.000275 (0.00148)</td><td class=pass>-92.221 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>8000</td><td>27734</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-94.187 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>16000</td><td>32000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-94.709 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>24000</td><td>48000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-94.818 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>32000</td><td>61867</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-95.065 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Piano_Schubert</td><td>32000</td><td>64000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-95.081 (-89.060)</td><td class=none>15 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>8000</td><td>27734</td><td class=pass>0.000214 (0.00148)</td><td class=pass>-90.548 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>16000</td><td>32000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-91.882 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>24000</td><td>48000</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-92.130 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>32000</td><td>61867</td><td class=pass>0.000153 (0.00148)</td><td class=pass>-92.261 (-89.060)</td><td class=none>14 (14)</td></tr>
<tr><td>decode</td><td>Violoncello</td><td>32000</td><td>64000</td><td class=pass>0.000183 (0.00148)</td><td class=pass>-92.090 (-89.060)</td><td class=none>14 (14)</td></tr>
</table></div></body>

View File

@ -0,0 +1,49 @@
<!DOCTYPE html><head><title>speech_encdec_10m Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px} th {padding:4px} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn {background-color:rgba(214,137,16,0.4)}</style></head><body><h2>Conformance test for "speech_encdec_10m" (Frame Size 10 ms) passed!</h2><div><table><tr><h3>Band-limited signals - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.00925</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_16000_wb</td><td>24000</td><td>48000</td><td class=>-0.572</td><td class=pass>0.00423 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_16000_wb</td><td>32000</td><td>64000</td><td class=>-0.227</td><td class=pass>0.00285 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_24000_sswb</td><td>32000</td><td>64000</td><td class=>-0.479</td><td class=pass>0.00243 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>16000</td><td>32000</td><td class=>-0.587</td><td class=pass>0.00925 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>24000</td><td>48000</td><td class=>-0.27</td><td class=pass>0.00607 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>32000</td><td>64000</td><td class=>-0.224</td><td class=pass>0.00449 (0.06)</td></tr>
</table></div></body><div><table><tr><h3>SQAM items - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.0507</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>8000</td><td>24000</td><td class=>-0.89</td><td class=pass>0.0157 (0.06)</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>16000</td><td>32000</td><td class=>-1.365</td><td class=pass>0.00264 (0.06)</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>24000</td><td>48000</td><td class=>-1.087</td><td class=pass>0.000918 (0.06)</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>32000</td><td>64000</td><td class=>-0.644</td><td class=pass>0.00012 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>8000</td><td>24000</td><td class=>-0.612</td><td class=pass>0.0138 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>16000</td><td>32000</td><td class=>-1.092</td><td class=pass>0.00691 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>24000</td><td>48000</td><td class=>-0.889</td><td class=pass>0.00613 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>32000</td><td>64000</td><td class=>-0.765</td><td class=pass>0.00183 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>8000</td><td>24000</td><td class=>-0.718</td><td class=pass>0.000303 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>16000</td><td>32000</td><td class=>-1.111</td><td class=pass>0.00375 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>24000</td><td>48000</td><td class=>-0.903</td><td class=pass>0.000221 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>32000</td><td>64000</td><td class=>-0.611</td><td class=pass>0.000326 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>8000</td><td>24000</td><td class=>-1.099</td><td class=pass>0.018 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>16000</td><td>32000</td><td class=>-1.572</td><td class=pass>0.00767 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>24000</td><td>48000</td><td class=>-1.056</td><td class=pass>0.00574 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>32000</td><td>64000</td><td class=>-0.766</td><td class=pass>0.00407 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>8000</td><td>24000</td><td class=>-1.911</td><td class=pass>0.0232 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>16000</td><td>32000</td><td class=>-2.539</td><td class=pass>0.00463 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>24000</td><td>48000</td><td class=>-2.143</td><td class=pass>0.00203 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>32000</td><td>64000</td><td class=>-1.542</td><td class=pass>0.0111 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>8000</td><td>24000</td><td class=>-2.918</td><td class=pass>0.0181 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>16000</td><td>32000</td><td class=>-3.166</td><td class=pass>0.00019 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>24000</td><td>48000</td><td class=>-2.405</td><td class=pass>0.00595 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>32000</td><td>64000</td><td class=>-1.710</td><td class=pass>0.00958 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>8000</td><td>24000</td><td class=>-0.781</td><td class=pass>0.000139 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>16000</td><td>32000</td><td class=>-1.385</td><td class=pass>0.0127 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>24000</td><td>48000</td><td class=>-1.019</td><td class=pass>0.0235 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>32000</td><td>64000</td><td class=>-0.749</td><td class=pass>0.017 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>8000</td><td>24000</td><td class=>-1.334</td><td class=pass>0.00231 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>16000</td><td>32000</td><td class=>-1.692</td><td class=pass>0.0507 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>24000</td><td>48000</td><td class=>-0.741</td><td class=pass>0.0123 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>32000</td><td>64000</td><td class=>-0.398</td><td class=pass>0.00485 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>8000</td><td>24000</td><td class=>-2.120</td><td class=pass>0.0108 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>16000</td><td>32000</td><td class=>-2.007</td><td class=pass>0.0124 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>24000</td><td>48000</td><td class=>-1.683</td><td class=pass>0.00884 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>32000</td><td>64000</td><td class=>-1.306</td><td class=pass>0.00174 (0.06)</td></tr>
</table></div></body>

View File

@ -0,0 +1,58 @@
<!DOCTYPE html><head><title>speech_encdec_7m5 Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px} th {padding:4px} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn {background-color:rgba(214,137,16,0.4)}</style></head><body><h2>Conformance test for "speech_encdec_7m5" (Frame Size 7.5 ms) passed!</h2><div><table><tr><h3>Band-limited signals - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.0136</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_16000_wb</td><td>24000</td><td>48000</td><td class=>-0.699</td><td class=pass>0.00167 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_16000_wb</td><td>32000</td><td>64000</td><td class=>-0.26</td><td class=pass>0.000658 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_24000_sswb</td><td>32000</td><td>64000</td><td class=>-0.609</td><td class=pass>0.00379 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>16000</td><td>32000</td><td class=>-0.727</td><td class=pass>0.0136 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>24000</td><td>48000</td><td class=>-0.281</td><td class=pass>0.00383 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>32000</td><td>64000</td><td class=>-0.172</td><td class=pass>0.00156 (0.06)</td></tr>
</table></div></body><div><table><tr><h3>SQAM items - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.0453</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>8000</td><td>27734</td><td class=>-0.795</td><td class=pass>0.00296 (0.06)</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>16000</td><td>32000</td><td class=>-1.604</td><td class=pass>0.000434 (0.06)</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>24000</td><td>48000</td><td class=>-1.177</td><td class=pass>0.00287 (0.06)</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>32000</td><td>61867</td><td class=>-0.743</td><td class=pass>0.0011 (0.06)</td></tr>
<tr><td>encdec</td><td>ABBA</td><td>32000</td><td>64000</td><td class=>-0.729</td><td class=pass>0.00274 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>8000</td><td>27734</td><td class=>-0.502</td><td class=pass>0.00306 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>16000</td><td>32000</td><td class=>-1.419</td><td class=pass>0.000897 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>24000</td><td>48000</td><td class=>-1.108</td><td class=pass>0.00855 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>32000</td><td>61867</td><td class=>-0.992</td><td class=pass>0.0123 (0.06)</td></tr>
<tr><td>encdec</td><td>Castanets</td><td>32000</td><td>64000</td><td class=>-0.937</td><td class=pass>0.000476 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>8000</td><td>27734</td><td class=>-0.617</td><td class=pass>0.00357 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>16000</td><td>32000</td><td class=>-1.360</td><td class=pass>0.024 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>24000</td><td>48000</td><td class=>-1.082</td><td class=pass>0.014 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>32000</td><td>61867</td><td class=>-0.825</td><td class=pass>0.00136 (0.06)</td></tr>
<tr><td>encdec</td><td>Eddie_Rabbitt</td><td>32000</td><td>64000</td><td class=>-0.742</td><td class=pass>0.000189 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>8000</td><td>27734</td><td class=>-0.84</td><td class=pass>0.0112 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>16000</td><td>32000</td><td class=>-1.939</td><td class=pass>0.013 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>24000</td><td>48000</td><td class=>-1.301</td><td class=pass>0.00176 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>32000</td><td>61867</td><td class=>-1.008</td><td class=pass>0.0152 (0.06)</td></tr>
<tr><td>encdec</td><td>Female_Speech_German</td><td>32000</td><td>64000</td><td class=>-0.914</td><td class=pass>0.00593 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>8000</td><td>27734</td><td class=>-0.665</td><td class=pass>0.00979 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>16000</td><td>32000</td><td class=>-2.271</td><td class=pass>0.00558 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>24000</td><td>48000</td><td class=>-1.960</td><td class=pass>0.00838 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>32000</td><td>61867</td><td class=>-1.892</td><td class=pass>0.0453 (0.06)</td></tr>
<tr><td>encdec</td><td>Glockenspiel</td><td>32000</td><td>64000</td><td class=>-1.316</td><td class=pass>0.00323 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>8000</td><td>27734</td><td class=>-2.684</td><td class=pass>0.00023 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>16000</td><td>32000</td><td class=>-3.504</td><td class=pass>0.00178 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>24000</td><td>48000</td><td class=>-2.647</td><td class=pass>0.00341 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>32000</td><td>61867</td><td class=>-2.140</td><td class=pass>0.0218 (0.06)</td></tr>
<tr><td>encdec</td><td>Harpsichord</td><td>32000</td><td>64000</td><td class=>-1.981</td><td class=pass>0.00839 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>8000</td><td>27734</td><td class=>-0.687</td><td class=pass>0.00917 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>16000</td><td>32000</td><td class=>-1.735</td><td class=pass>0.0026 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>24000</td><td>48000</td><td class=>-1.205</td><td class=pass>0.00963 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>32000</td><td>61867</td><td class=>-0.947</td><td class=pass>0.0101 (0.06)</td></tr>
<tr><td>encdec</td><td>Male_Speech_English</td><td>32000</td><td>64000</td><td class=>-0.819</td><td class=pass>0.0117 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>8000</td><td>27734</td><td class=>-1.198</td><td class=pass>0.00287 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>16000</td><td>32000</td><td class=>-2.080</td><td class=pass>0.0249 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>24000</td><td>48000</td><td class=>-0.852</td><td class=pass>0.00808 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>32000</td><td>61867</td><td class=>-0.551</td><td class=pass>0.00418 (0.06)</td></tr>
<tr><td>encdec</td><td>Piano_Schubert</td><td>32000</td><td>64000</td><td class=>-0.475</td><td class=pass>0.00103 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>8000</td><td>27734</td><td class=>-1.978</td><td class=pass>0.0126 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>16000</td><td>32000</td><td class=>-2.636</td><td class=pass>0.00599 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>24000</td><td>48000</td><td class=>-2.040</td><td class=pass>0.00462 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>32000</td><td>61867</td><td class=>-1.673</td><td class=pass>0.00293 (0.06)</td></tr>
<tr><td>encdec</td><td>Violoncello</td><td>32000</td><td>64000</td><td class=>-1.559</td><td class=pass>0.011 (0.06)</td></tr>
</table></div></body>

View File

@ -0,0 +1,49 @@
<!DOCTYPE html><head><title>speech_encode_10m Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px} th {padding:4px} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn {background-color:rgba(214,137,16,0.4)}</style></head><body><h2>Conformance test for "speech_encode_10m" (Frame Size 10 ms) passed!</h2><div><table><tr><h3>Band-limited signals - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.00925</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_16000_wb</td><td>24000</td><td>48000</td><td class=>-0.572</td><td class=pass>0.00423 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_16000_wb</td><td>32000</td><td>64000</td><td class=>-0.227</td><td class=pass>0.00285 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_24000_sswb</td><td>32000</td><td>64000</td><td class=>-0.479</td><td class=pass>0.00243 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>16000</td><td>32000</td><td class=>-0.587</td><td class=pass>0.00925 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>24000</td><td>48000</td><td class=>-0.27</td><td class=pass>0.00607 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>32000</td><td>64000</td><td class=>-0.224</td><td class=pass>0.00449 (0.06)</td></tr>
</table></div></body><div><table><tr><h3>SQAM items - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.0391</td></tr>
<tr><td>encode</td><td>ABBA</td><td>8000</td><td>24000</td><td class=>-0.89</td><td class=pass>0.0125 (0.06)</td></tr>
<tr><td>encode</td><td>ABBA</td><td>16000</td><td>32000</td><td class=>-1.365</td><td class=pass>0.00312 (0.06)</td></tr>
<tr><td>encode</td><td>ABBA</td><td>24000</td><td>48000</td><td class=>-1.087</td><td class=pass>0.000477 (0.06)</td></tr>
<tr><td>encode</td><td>ABBA</td><td>32000</td><td>64000</td><td class=>-0.644</td><td class=pass>0.000632 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>8000</td><td>24000</td><td class=>-0.612</td><td class=pass>0.00742 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>16000</td><td>32000</td><td class=>-1.092</td><td class=pass>0.00681 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>24000</td><td>48000</td><td class=>-0.889</td><td class=pass>0.00596 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>32000</td><td>64000</td><td class=>-0.765</td><td class=pass>0.00173 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>8000</td><td>24000</td><td class=>-0.718</td><td class=pass>0.00959 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>16000</td><td>32000</td><td class=>-1.111</td><td class=pass>0.00625 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>24000</td><td>48000</td><td class=>-0.903</td><td class=pass>0.000414 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>32000</td><td>64000</td><td class=>-0.611</td><td class=pass>0.00036 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>8000</td><td>24000</td><td class=>-1.099</td><td class=pass>0.0175 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>16000</td><td>32000</td><td class=>-1.572</td><td class=pass>0.00729 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>24000</td><td>48000</td><td class=>-1.056</td><td class=pass>0.00514 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>32000</td><td>64000</td><td class=>-0.766</td><td class=pass>0.00229 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>8000</td><td>24000</td><td class=>-1.911</td><td class=pass>0.0391 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>16000</td><td>32000</td><td class=>-2.539</td><td class=pass>0.00296 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>24000</td><td>48000</td><td class=>-2.143</td><td class=pass>0.00757 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>32000</td><td>64000</td><td class=>-1.542</td><td class=pass>0.0116 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>8000</td><td>24000</td><td class=>-2.918</td><td class=pass>0.00513 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>16000</td><td>32000</td><td class=>-3.166</td><td class=pass>0.00133 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>24000</td><td>48000</td><td class=>-2.405</td><td class=pass>0.00874 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>32000</td><td>64000</td><td class=>-1.710</td><td class=pass>0.00811 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>8000</td><td>24000</td><td class=>-0.781</td><td class=pass>0.00484 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>16000</td><td>32000</td><td class=>-1.385</td><td class=pass>0.0136 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>24000</td><td>48000</td><td class=>-1.019</td><td class=pass>0.0226 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>32000</td><td>64000</td><td class=>-0.749</td><td class=pass>0.0164 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>8000</td><td>24000</td><td class=>-1.334</td><td class=pass>0.00514 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>16000</td><td>32000</td><td class=>-1.692</td><td class=pass>0.0285 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>24000</td><td>48000</td><td class=>-0.741</td><td class=pass>0.0244 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>32000</td><td>64000</td><td class=>-0.398</td><td class=pass>0.000122 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>8000</td><td>24000</td><td class=>-2.120</td><td class=pass>0.0128 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>16000</td><td>32000</td><td class=>-2.007</td><td class=pass>0.0124 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>24000</td><td>48000</td><td class=>-1.683</td><td class=pass>0.00902 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>32000</td><td>64000</td><td class=>-1.306</td><td class=pass>0.000776 (0.06)</td></tr>
</table></div></body>

View File

@ -0,0 +1,58 @@
<!DOCTYPE html><head><title>speech_encode_7m5 Report</title><style>body {font-family:sans-serif; color:#f8f8f2; background-color:#272822; font-size:80%} div {border:1px solid #8f908a; border-radius:4px; overflow:hidden; display:table; margin-left:30px; margin-bottom:30px} h2 {text-align:left; margin-left:30px} h3 {text-align:left; margin:4px} table {border-spacing:0px} th {padding:4px} td {padding:4px} tr:nth-child(even) {background-color:rgba(255,255,255,0.1)} td.pass {background-color:rgba(0,192,255,0.4)} td.fail {background-color:rgba(255,0,0,0.4)} td.warn {background-color:rgba(214,137,16,0.4)}</style></head><body><h2>Conformance test for "speech_encode_7m5" (Frame Size 7.5 ms) passed!</h2><div><table><tr><h3>Band-limited signals - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.0136</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_16000_wb</td><td>24000</td><td>48000</td><td class=>-0.699</td><td class=pass>0.00167 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_16000_wb</td><td>32000</td><td>64000</td><td class=>-0.26</td><td class=pass>0.000658 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_24000_sswb</td><td>32000</td><td>64000</td><td class=>-0.609</td><td class=pass>0.00379 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>16000</td><td>32000</td><td class=>-0.727</td><td class=pass>0.0136 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>24000</td><td>48000</td><td class=>-0.281</td><td class=pass>0.00383 (0.06)</td></tr>
<tr><td>encoder</td><td>Female_Speech_German_8000_nb</td><td>32000</td><td>64000</td><td class=>-0.172</td><td class=pass>0.00156 (0.06)</td></tr>
</table></div></body><div><table><tr><h3>SQAM items - 100%</h3></tr>
<tr><th>Mode</th><th>Item</th><th>Samplingrate</th><th>Bitrate</th><th>ODG Ref</th><th>Delta ODG (threshold)</th></tr>
<tr><td>worst value</td><td></td><td></td><td></td><td></td><td>0.0497</td></tr>
<tr><td>encode</td><td>ABBA</td><td>8000</td><td>27734</td><td class=>-0.795</td><td class=pass>0.000584 (0.06)</td></tr>
<tr><td>encode</td><td>ABBA</td><td>16000</td><td>32000</td><td class=>-1.604</td><td class=pass>0.00188 (0.06)</td></tr>
<tr><td>encode</td><td>ABBA</td><td>24000</td><td>48000</td><td class=>-1.177</td><td class=pass>0.00197 (0.06)</td></tr>
<tr><td>encode</td><td>ABBA</td><td>32000</td><td>61867</td><td class=>-0.743</td><td class=pass>0.00187 (0.06)</td></tr>
<tr><td>encode</td><td>ABBA</td><td>32000</td><td>64000</td><td class=>-0.729</td><td class=pass>0.00146 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>8000</td><td>27734</td><td class=>-0.502</td><td class=pass>0.00539 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>16000</td><td>32000</td><td class=>-1.419</td><td class=pass>0.00164 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>24000</td><td>48000</td><td class=>-1.108</td><td class=pass>0.00932 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>32000</td><td>61867</td><td class=>-0.992</td><td class=pass>0.0122 (0.06)</td></tr>
<tr><td>encode</td><td>Castanets</td><td>32000</td><td>64000</td><td class=>-0.937</td><td class=pass>0.000407 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>8000</td><td>27734</td><td class=>-0.617</td><td class=pass>0.00155 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>16000</td><td>32000</td><td class=>-1.360</td><td class=pass>0.0128 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>24000</td><td>48000</td><td class=>-1.082</td><td class=pass>0.0138 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>32000</td><td>61867</td><td class=>-0.825</td><td class=pass>0.00131 (0.06)</td></tr>
<tr><td>encode</td><td>Eddie_Rabbitt</td><td>32000</td><td>64000</td><td class=>-0.742</td><td class=pass>0.000459 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>8000</td><td>27734</td><td class=>-0.84</td><td class=pass>0.00628 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>16000</td><td>32000</td><td class=>-1.939</td><td class=pass>0.00766 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>24000</td><td>48000</td><td class=>-1.301</td><td class=pass>0.000402 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>32000</td><td>61867</td><td class=>-1.008</td><td class=pass>0.016 (0.06)</td></tr>
<tr><td>encode</td><td>Female_Speech_German</td><td>32000</td><td>64000</td><td class=>-0.914</td><td class=pass>0.00396 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>8000</td><td>27734</td><td class=>-0.665</td><td class=pass>0.0171 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>16000</td><td>32000</td><td class=>-2.271</td><td class=pass>0.00345 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>24000</td><td>48000</td><td class=>-1.960</td><td class=pass>0.0119 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>32000</td><td>61867</td><td class=>-1.892</td><td class=pass>0.0497 (0.06)</td></tr>
<tr><td>encode</td><td>Glockenspiel</td><td>32000</td><td>64000</td><td class=>-1.316</td><td class=pass>0.00515 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>8000</td><td>27734</td><td class=>-2.684</td><td class=pass>0.00152 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>16000</td><td>32000</td><td class=>-3.504</td><td class=pass>0.00316 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>24000</td><td>48000</td><td class=>-2.647</td><td class=pass>0.00341 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>32000</td><td>61867</td><td class=>-2.140</td><td class=pass>0.0198 (0.06)</td></tr>
<tr><td>encode</td><td>Harpsichord</td><td>32000</td><td>64000</td><td class=>-1.981</td><td class=pass>0.0113 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>8000</td><td>27734</td><td class=>-0.687</td><td class=pass>0.0103 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>16000</td><td>32000</td><td class=>-1.735</td><td class=pass>0.00172 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>24000</td><td>48000</td><td class=>-1.205</td><td class=pass>0.0118 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>32000</td><td>61867</td><td class=>-0.947</td><td class=pass>0.0113 (0.06)</td></tr>
<tr><td>encode</td><td>Male_Speech_English</td><td>32000</td><td>64000</td><td class=>-0.819</td><td class=pass>0.0137 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>8000</td><td>27734</td><td class=>-1.198</td><td class=pass>0.00763 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>16000</td><td>32000</td><td class=>-2.080</td><td class=pass>0.0139 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>24000</td><td>48000</td><td class=>-0.852</td><td class=pass>0.00789 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>32000</td><td>61867</td><td class=>-0.551</td><td class=pass>0.00224 (0.06)</td></tr>
<tr><td>encode</td><td>Piano_Schubert</td><td>32000</td><td>64000</td><td class=>-0.475</td><td class=pass>0.00106 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>8000</td><td>27734</td><td class=>-1.978</td><td class=pass>0.0125 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>16000</td><td>32000</td><td class=>-2.636</td><td class=pass>0.00606 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>24000</td><td>48000</td><td class=>-2.040</td><td class=pass>0.00429 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>32000</td><td>61867</td><td class=>-1.673</td><td class=pass>0.00101 (0.06)</td></tr>
<tr><td>encode</td><td>Violoncello</td><td>32000</td><td>64000</td><td class=>-1.559</td><td class=pass>0.00863 (0.06)</td></tr>
</table></div></body>

67
3rd-party/lc3-google/fuzz/dfuzz.cc vendored Normal file
View File

@ -0,0 +1,67 @@
/******************************************************************************
*
* Copyright 2022 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************/
#include <lc3_cpp.h>
#include <fuzzer/FuzzedDataProvider.h>
using namespace lc3;
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
const int dt_list[] = { 2500, 5000, 7500, 10000 };
const int sr_list[] = { 8000, 16000, 24000, 32000, 48000, 96000 };
FuzzedDataProvider fdp(data, size);
int dt_us = fdp.PickValueInArray(dt_list);
int sr_hz = fdp.PickValueInArray(sr_list);
int nchannels =fdp.PickValueInArray({1, 2});
bool hrmode = fdp.ConsumeBool();
int sr_pcm_hz = fdp.PickValueInArray(sr_list);
if (sr_pcm_hz < sr_hz)
sr_pcm_hz = 0;
Decoder dec(dt_us, sr_hz, sr_pcm_hz, nchannels, hrmode);
int frame_size = fdp.ConsumeIntegralInRange(
LC3_MIN_FRAME_BYTES, LC3_MAX_FRAME_BYTES);
PcmFormat fmt = fdp.PickValueInArray(
{ PcmFormat::kS16, PcmFormat::kS24,
PcmFormat::kS24In3Le, PcmFormat::kF32 });
int frame_samples = dec.GetFrameSamples();
if (frame_samples < 0)
return -1;
int sample_bytes =
fmt == PcmFormat::kS16 ? sizeof(int16_t) :
fmt == PcmFormat::kS24 ? sizeof(int32_t) :
fmt == PcmFormat::kS24In3Le ? sizeof(uint8_t) * 3 :
fmt == PcmFormat::kF32 ? sizeof(float) : 0;
if (fdp.remaining_bytes() < frame_size * nchannels)
return -1;
dec.Decode(
fdp.ConsumeBytes<uint8_t>(nchannels * frame_size).data(), frame_size,
fmt, std::vector<uint8_t>(nchannels * frame_samples * sample_bytes).data());
return 0;
}

118
3rd-party/lc3-google/fuzz/efuzz.cc vendored Normal file
View File

@ -0,0 +1,118 @@
/******************************************************************************
*
* Copyright 2022 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************/
#include <lc3_cpp.h>
#include <fuzzer/FuzzedDataProvider.h>
using namespace lc3;
template <typename T>
T ConsumeInRange(FuzzedDataProvider &fdp, T min, T max) {
return fdp.ConsumeIntegralInRange<T>(min, max);
}
template <>
float ConsumeInRange(FuzzedDataProvider &fdp, float min, float max) {
return fdp.ConsumeFloatingPointInRange<float>(min, max);
}
template <typename T>
int encode(Encoder &e, int nchannels, int frame_size, FuzzedDataProvider &fdp,
T min = std::numeric_limits<T>::min(), T max = std::numeric_limits<T>::max())
{
int pcm_samples = nchannels * e.GetFrameSamples();
if (fdp.remaining_bytes() < pcm_samples * sizeof(T))
return -1;
std::vector<T> pcm(pcm_samples);
for (auto &s: pcm)
s = ConsumeInRange<T>(fdp, min, max);
e.Encode(pcm.data(),
frame_size, std::vector<uint8_t>(nchannels * frame_size).data());
return 0;
}
int encode(Encoder &e, int frame_size, int nchannels,
PcmFormat fmt, FuzzedDataProvider &fdp)
{
int sample_bytes =
fmt == PcmFormat::kS16 ? sizeof(int16_t) :
fmt == PcmFormat::kS24 ? sizeof(int32_t) :
fmt == PcmFormat::kS24In3Le ? sizeof(uint8_t) * 3 :
fmt == PcmFormat::kF32 ? sizeof(float) : 0;
int pcm_bytes = nchannels * e.GetFrameSamples() * sample_bytes;
if (fdp.remaining_bytes() < pcm_bytes)
return -1;
e.Encode(fmt, fdp.ConsumeBytes<uint8_t>(pcm_bytes).data(),
frame_size, std::vector<uint8_t>(nchannels * frame_size).data());
return 0;
}
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
const int dt_list[] = { 2500, 5000, 7500, 10000 };
const int sr_list[] = { 8000, 16000, 24000, 32000, 48000 };
FuzzedDataProvider fdp(data, size);
int dt_us = fdp.PickValueInArray(dt_list);
int sr_hz = fdp.PickValueInArray(sr_list);
int nchannels = fdp.PickValueInArray({1, 2});
bool hrmode = fdp.ConsumeBool();
int sr_pcm_hz = fdp.PickValueInArray(sr_list);
if (sr_pcm_hz < sr_hz)
sr_pcm_hz = 0;
Encoder enc(dt_us, sr_hz, sr_pcm_hz, nchannels, hrmode);
PcmFormat fmt = fdp.PickValueInArray(
{ PcmFormat::kS16, PcmFormat::kS24,
PcmFormat::kS24In3Le, PcmFormat::kF32 });
int frame_size = fdp.ConsumeIntegralInRange(
LC3_MIN_FRAME_BYTES, LC3_MAX_FRAME_BYTES);
switch (fmt) {
case PcmFormat::kS16:
return encode<int16_t>(enc, nchannels, frame_size, fdp);
case PcmFormat::kS24: {
const int32_t s24_min = -(1 << 23);
const int32_t s24_max = (1 << 23) - 1;
return encode<int32_t>(enc, nchannels, frame_size, fdp, s24_min, s24_max);
}
case PcmFormat::kF32: {
const float f32_min = -1.0;
const float f32_max = 1.0;
return encode<float>(enc, nchannels, frame_size, fdp, f32_min, f32_max);
}
case PcmFormat::kS24In3Le:
return encode(enc, nchannels, frame_size, fmt, fdp);
}
return 0;
}

52
3rd-party/lc3-google/fuzz/makefile.mk vendored Normal file
View File

@ -0,0 +1,52 @@
#
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
efuzz_src += \
$(FUZZ_DIR)/efuzz.cc
efuzz_ldlibs += lc3 m
efuzz_dependencies += liblc3
$(eval $(call add-bin,efuzz))
dfuzz_src += \
$(FUZZ_DIR)/dfuzz.cc
dfuzz_ldlibs += lc3 m
dfuzz_dependencies += liblc3
$(eval $(call add-bin,dfuzz))
.PHONY: fuzz dfuzz efuzz
efuzz dfuzz: CC = clang
efuzz dfuzz: CXX = clang++
efuzz dfuzz: LD = clang
FUZZER_SANITIZE := -fsanitize=fuzzer,address
efuzz dfuzz: CFLAGS += $(FUZZER_SANITIZE)
efuzz dfuzz: CXXFLAGS += $(FUZZER_SANITIZE)
efuzz dfuzz: LDFLAGS += $(FUZZER_SANITIZE)
dfuzz:
$(V)LD_LIBRARY_PATH=$(BIN_DIR) $(dfuzz_bin) -runs=1000000
efuzz:
$(V)LD_LIBRARY_PATH=$(BIN_DIR) $(efuzz_bin) -runs=1000000
fuzz: efuzz dfuzz

View File

@ -20,11 +20,15 @@
* Low Complexity Communication Codec (LC3)
*
* This implementation conforms to :
* Low Complexity Communication Codec (LC3)
* Bluetooth Specification v1.0
*
* - Low Complexity Communication Codec (LC3)
* Bluetooth Specification v1.0
*
* The LC3 is an efficient low latency audio codec.
* - ETSI TS 103 634 v1.4.1
* Digital Enhanced Cordless Telecommunications (DECT)
* Low Complexity Communication Codec plus (LC3plus)
*
* LC3 and LC3 Plus are audio codecs designed for low-latency audio transport.
*
* - Unlike most other codecs, the LC3 codec is focused on audio streaming
* in constrained (on packet sizes and interval) tranport layer.
@ -40,19 +44,65 @@
*
* - Unlike classic codecs, the LC3 codecs does not run on fixed amount
* of samples as input. It operates only on fixed frame duration, for
* any supported samplerates (8 to 48 KHz). Two frames duration are
* any supported sample rates (8 to 48 KHz). Two frames duration are
* available 7.5ms and 10ms.
*
*
* --- About 44.1 KHz samplerate ---
* --- LC3 Plus features ---
*
* The Bluetooth specification reference the 44.1 KHz samplerate, although
* there is no support in the core algorithm of the codec of 44.1 KHz.
* We can summarize the 44.1 KHz support by "you can put any samplerate
* around the defined base samplerates". Please mind the following items :
* In addition to LC3, following features of LC3 Plus are proposed:
* - Frame duration of 2.5 and 5ms.
* - High-Resolution mode, 48 KHz, and 96 kHz sampling rates.
*
* 1. The frame size will not be 7.5 ms or 10 ms, but is scaled
* by 'supported samplerate' / 'input samplerate'
* The distinction between LC3 and LC3 plus is made according to :
*
* Frame Duration | 2.5ms | 5ms | 7.5ms | 10 ms |
* ---------------- | ----- | ----- | ----- | ----- |
* LC3 | | | X | X |
* LC3 Plus | X | X | | X |
*
* The 10 ms frame duration is available in LC3 and LC3 plus standard.
* In this mode, the produced bitstream can be referenced either
* as LC3 or LC3 plus.
*
* The LC3 Plus high-resolution mode should be preferred at high bitrates
* and larger audio bandwidth. In this mode, the audio bandwidth is always
* up to the Nyquist frequency, compared to LC3 at 48 KHz, which limits
* the bandwidth to 20 KHz.
*
*
* --- Bit rate ---
*
* The proposed implementation accepts any frame sizes between 20 and 400 Bytes
* for non-high-resolution mode. Mind that the LC3 Plus standard defines
* smaller sizes for frame durations shorter than 10 ms and/or sampling rates
* less than 48 kHz.
*
* In High-Resolution mode, the frame sizes (and bitrates) are restricted
* as follows:
*
* HR Configuration | Frame sizes | Bitrate (kbps) |
* ------------------ | ------------- | -------------- |
* 10 ms - 48 KHz | 156 to 625 | 124.8 - 500 |
* 10 ms - 96 KHz | 187 to 625 | 149.6 - 500 |
* ------------------ | ------------- | -------------- |
* 5 ms - 48 KHz | 93 to 375 | 148.8 - 600 |
* 5 ms - 96 KHz | 109 to 375 | 174.4 - 600 |
* ------------------ | ------------- | -------------- |
* 2.5 ms - 48 KHz | 54 to 210 | 172.8 - 672 |
* 2.5 ms - 96 KHz | 62 to 210 | 198.4 - 672 |
*
*
* --- About 44.1 KHz sample rate ---
*
* The Bluetooth specification and the ETSI TS 103 634 standard references
* the 44.1 KHz sample rate, although there is no support in the core algorithm
* of the codec.
* We can summarize the 44.1 KHz support by "You can put any sample rate around
* the defined base sample rates." Please mind the following items :
*
* 1. The frame size will not be 2.5ms, 5ms, 7.5 ms or 10 ms, but is scaled
* by 'supported sample rate' / 'input sample rate'
*
* 2. The bandwidth will be hard limited (to 20 KHz) if you select 48 KHz.
* The encoded bandwidth will also be affected by the above inverse
@ -84,8 +134,8 @@
* space must be aligned to a pointer size. As an example, you can setup
* encoder like this :
*
* | enc = lc3_setup_encoder(frame_us, samplerate,
* | malloc(lc3_encoder_size(frame_us, samplerate)));
* | enc = lc3_setup_encoder(frame_us, sample rate,
* | malloc(lc3_encoder_size(frame_us, sample rate)));
* | ...
* | free(enc);
*
@ -124,30 +174,45 @@ extern "C" {
/**
* Limitations
* - On the bitrate, in bps, of a stream
* - On the bitrate, in bps
* - On the size of the frames in bytes
* - On the number of samples by frames
*/
#define LC3_MIN_BITRATE 16000
#define LC3_MAX_BITRATE 320000
#define LC3_MIN_BITRATE 16000
#define LC3_MAX_BITRATE 320000
#define LC3_HR_MAX_BITRATE 672000
#define LC3_MIN_FRAME_BYTES 20
#define LC3_MAX_FRAME_BYTES 400
#define LC3_MIN_FRAME_BYTES 20
#define LC3_MAX_FRAME_BYTES 400
#define LC3_HR_MAX_FRAME_BYTES 625
#define LC3_MIN_FRAME_SAMPLES LC3_NS( 2500, 8000)
#define LC3_MAX_FRAME_SAMPLES LC3_NS(10000, 48000)
#define LC3_HR_MAX_FRAME_SAMPLES LC3_NS(10000, 96000)
/**
* Parameters check
* LC3_CHECK_DT_US(us) True when frame duration in us is suitable
* LC3_CHECK_SR_HZ(sr) True when samplerate in Hz is suitable
* LC3_CHECK_SR_HZ(sr) True when sample rate in Hz is suitable
*
* LC3_HR_CHECK_SR_HZ(hrmode, sr)
* True when sample rate in Hz is suitable, according to the
* selection of the high-resolution mode `hrmode`.
*/
#define LC3_CHECK_DT_US(us) \
( ((us) == 7500) || ((us) == 10000) )
( ((us) == 2500) || ((us) == 5000) || \
((us) == 7500) || ((us) == 10000) )
#define LC3_CHECK_SR_HZ(sr) \
( ((sr) == 8000) || ((sr) == 16000) || ((sr) == 24000) || \
((sr) == 32000) || ((sr) == 48000) )
#define LC3_HR_CHECK_SR_HZ(hrmode, sr) \
( (hrmode) ? ((sr) == 48000) || ((sr) == 96000) : LC3_CHECK_SR_HZ(sr) )
/**
* PCM Sample Format
@ -175,10 +240,10 @@ typedef struct lc3_decoder *lc3_decoder_t;
/**
* Static memory of encoder context
* Static memory of encoder/decoder contexts
*
* Propose types suitable for static memory allocation, supporting
* any frame duration, and maximum samplerates 16k and 48k respectively
* any frame duration, and maximum sample rates 16k and 48k respectively
* You can customize your type using the `LC3_ENCODER_MEM_T` or
* `LC3_DECODER_MEM_T` macro.
*/
@ -192,62 +257,102 @@ typedef LC3_DECODER_MEM_T(10000, 48000) lc3_decoder_mem_48k_t;
/**
* Return the number of PCM samples in a frame
* dt_us Frame duration in us, 7500 or 10000
* sr_hz Samplerate in Hz, 8000, 16000, 24000, 32000 or 48000
* hrmode Enable High-Resolution mode (48000 and 96000 sample rates)
* dt_us Frame duration in us, 2500, 5000, 7500 or 10000
* sr_hz Sample rate in Hz, 8000, 16000, 24000, 32000, 48000 or 96000
* return Number of PCM samples, -1 on bad parameters
*/
int lc3_frame_samples(int dt_us, int sr_hz);
LC3_EXPORT int lc3_hr_frame_samples(bool hrmode, int dt_us, int sr_hz);
LC3_EXPORT int lc3_frame_samples(int dt_us, int sr_hz);
/**
* Return the size of frames, from bitrate
* dt_us Frame duration in us, 7500 or 10000
* bitrate Target bitrate in bit per second
* hrmode Enable High-Resolution mode (48000 and 96000 sample rates)
* dt_us Frame duration in us, 2500, 5000, 7500 or 10000
* sr_hz Sample rate in Hz, 8000, 16000, 24000, 32000, 48000 or 96000
* bitrate Target bitrate in bit per second, 0 or `INT_MAX` returns
* respectively the minimum and maximum allowed size.
* return The floor size in bytes of the frames, -1 on bad parameters
*/
int lc3_frame_bytes(int dt_us, int bitrate);
LC3_EXPORT int lc3_hr_frame_bytes(
bool hrmode, int dt_us, int sr_hz, int bitrate);
LC3_EXPORT int lc3_frame_bytes(int dt_us, int bitrate);
/**
* Return the size of frame blocks, from bitrate
* A frame block contains the frame data from all channels.
* hrmode Enable High-Resolution mode (48000 and 96000 sample rates)
* dt_us Frame duration in us, 2500, 5000, 7500 or 10000
* sr_hz Sample rate in Hz, 8000, 16000, 24000, 32000, 48000 or 96000
* nchannels The number of channels (or frames) in the block (<= 8)
* bitrate Target bitrate in bit per second, 0 or `INT_MAX` returns
* respectively the minimum and maximum allowed size.
* return The floor size in bytes of the frames, -1 on bad parameters
*/
LC3_EXPORT int lc3_hr_frame_block_bytes(
bool hrmode, int dt_us, int sr_hz, int nchannels, int bitrate);
LC3_EXPORT int lc3_frame_block_bytes(int dt_us, int nframes, int bitrate);
/**
* Resolve the bitrate, from the size of frames
* dt_us Frame duration in us, 7500 or 10000
* nbytes Size in bytes of the frames
* return The according bitrate in bps, -1 on bad parameters
* hrmode Enable High-Resolution mode (48000 and 96000 sample rates)
* dt_us Frame duration in us, 2500, 5000, 7500 or 10000
* sr_hz Sample rate in Hz, 8000, 16000, 24000, 32000, 48000 or 96000
* nbytes Size in bytes of the frames or frame blocks
* return The ceiled bitrate in bps, -1 on bad parameters
*/
int lc3_resolve_bitrate(int dt_us, int nbytes);
LC3_EXPORT int lc3_hr_resolve_bitrate(
bool hrmode, int dt_us, int sr_hz, int nbytes);
LC3_EXPORT int lc3_resolve_bitrate(int dt_us, int nbytes);
/**
* Return algorithmic delay, as a number of samples
* dt_us Frame duration in us, 7500 or 10000
* sr_hz Samplerate in Hz, 8000, 16000, 24000, 32000 or 48000
* hrmode Enable High-Resolution mode (48000 and 96000 sample rates)
* dt_us Frame duration in us, 2500, 5000, 7500 or 10000
* sr_hz Sample rate in Hz, 8000, 16000, 24000, 32000, 48000 or 96000
* return Number of algorithmic delay samples, -1 on bad parameters
*/
int lc3_delay_samples(int dt_us, int sr_hz);
LC3_EXPORT int lc3_hr_delay_samples(bool hrmode, int dt_us, int sr_hz);
LC3_EXPORT int lc3_delay_samples(int dt_us, int sr_hz);
/**
* Return size needed for an encoder
* dt_us Frame duration in us, 7500 or 10000
* sr_hz Samplerate in Hz, 8000, 16000, 24000, 32000 or 48000
* hrmode Enable High-Resolution mode (48000 and 96000 sample rates)
* dt_us Frame duration in us, 2500, 5000, 7500 or 10000
* sr_hz Sample rate in Hz, 8000, 16000, 24000, 32000, 48000 or 96000
* return Size of then encoder in bytes, 0 on bad parameters
*
* The `sr_hz` parameter is the samplerate of the PCM input stream,
* and will match `sr_pcm_hz` of `lc3_setup_encoder()`.
* The `sr_hz` parameter is the sample rate of the PCM input stream,
* and will match `sr_pcm_hz` of `lc3_hr_setup_encoder()`.
*/
unsigned lc3_encoder_size(int dt_us, int sr_hz);
LC3_EXPORT unsigned lc3_hr_encoder_size(bool hrmode, int dt_us, int sr_hz);
LC3_EXPORT unsigned lc3_encoder_size(int dt_us, int sr_hz);
/**
* Setup encoder
* dt_us Frame duration in us, 7500 or 10000
* sr_hz Samplerate in Hz, 8000, 16000, 24000, 32000 or 48000
* sr_pcm_hz Input samplerate, downsampling option of input, or 0
* hrmode Enable High-Resolution mode (48000 and 96000 sample rates)
* dt_us Frame duration in us, 2500, 5000, 7500 or 10000
* sr_hz Sample rate in Hz, 8000, 16000, 24000, 32000, 48000 or 96000
* sr_pcm_hz Input sample rate, downsampling option of input, or 0
* mem Encoder memory space, aligned to pointer type
* return Encoder as an handle, NULL on bad parameters
*
* The `sr_pcm_hz` parameter is a downsampling option of PCM input,
* the value `0` fallback to the samplerate of the encoded stream `sr_hz`.
* the value `0` fallback to the sample rate of the encoded stream `sr_hz`.
* When used, `sr_pcm_hz` is intended to be higher or equal to the encoder
* samplerate `sr_hz`. The size of the context needed, given by
* `lc3_encoder_size()` will be set accordingly to `sr_pcm_hz`.
* sample rate `sr_hz`. The size of the context needed, given by
* `lc3_hr_encoder_size()` will be set accordingly to `sr_pcm_hz`.
*/
lc3_encoder_t lc3_setup_encoder(
LC3_EXPORT lc3_encoder_t lc3_hr_setup_encoder(
bool hrmode, int dt_us, int sr_hz, int sr_pcm_hz, void *mem);
LC3_EXPORT lc3_encoder_t lc3_setup_encoder(
int dt_us, int sr_hz, int sr_pcm_hz, void *mem);
/**
@ -255,39 +360,47 @@ lc3_encoder_t lc3_setup_encoder(
* encoder Handle of the encoder
* fmt PCM input format
* pcm, stride Input PCM samples, and count between two consecutives
* nbytes Target size, in bytes, of the frame (20 to 400)
* nbytes Target size, in bytes, of the frame
* out Output buffer of `nbytes` size
* return 0: On success -1: Wrong parameters
*/
int lc3_encode(lc3_encoder_t encoder, enum lc3_pcm_format fmt,
LC3_EXPORT int lc3_encode(
lc3_encoder_t encoder, enum lc3_pcm_format fmt,
const void *pcm, int stride, int nbytes, void *out);
/**
* Return size needed for an decoder
* dt_us Frame duration in us, 7500 or 10000
* sr_hz Samplerate in Hz, 8000, 16000, 24000, 32000 or 48000
* hrmode Enable High-Resolution mode (48000 and 96000 sample rates)
* dt_us Frame duration in us, 2500, 5000, 7500 or 10000
* sr_hz Sample rate in Hz, 8000, 16000, 24000, 32000, 48000 or 96000
* return Size of then decoder in bytes, 0 on bad parameters
*
* The `sr_hz` parameter is the samplerate of the PCM output stream,
* and will match `sr_pcm_hz` of `lc3_setup_decoder()`.
* The `sr_hz` parameter is the sample rate of the PCM output stream,
* and will match `sr_pcm_hz` of `lc3_hr_setup_decoder()`.
*/
unsigned lc3_decoder_size(int dt_us, int sr_hz);
LC3_EXPORT unsigned lc3_hr_decoder_size(bool hrmode, int dt_us, int sr_hz);
LC3_EXPORT unsigned lc3_decoder_size(int dt_us, int sr_hz);
/**
* Setup decoder
* dt_us Frame duration in us, 7500 or 10000
* sr_hz Samplerate in Hz, 8000, 16000, 24000, 32000 or 48000
* sr_pcm_hz Output samplerate, upsampling option of output (or 0)
* hrmode Enable High-Resolution mode (48000 and 96000 sample rates)
* dt_us Frame duration in us, 2500, 5000, 7500 or 10000
* sr_hz Sample rate in Hz, 8000, 16000, 24000, 32000, 48000 or 96000
* sr_pcm_hz Output sample rate, upsampling option of output (or 0)
* mem Decoder memory space, aligned to pointer type
* return Decoder as an handle, NULL on bad parameters
*
* The `sr_pcm_hz` parameter is an upsampling option of PCM output,
* the value `0` fallback to the samplerate of the decoded stream `sr_hz`.
* the value `0` fallback to the sample rate of the decoded stream `sr_hz`.
* When used, `sr_pcm_hz` is intended to be higher or equal to the decoder
* samplerate `sr_hz`. The size of the context needed, given by
* `lc3_decoder_size()` will be set accordingly to `sr_pcm_hz`.
* sample rate `sr_hz`. The size of the context needed, given by
* `lc3_hr_decoder_size()` will be set accordingly to `sr_pcm_hz`.
*/
lc3_decoder_t lc3_setup_decoder(
LC3_EXPORT lc3_decoder_t lc3_hr_setup_decoder(
bool hrmode, int dt_us, int sr_hz, int sr_pcm_hz, void *mem);
LC3_EXPORT lc3_decoder_t lc3_setup_decoder(
int dt_us, int sr_hz, int sr_pcm_hz, void *mem);
/**
@ -298,7 +411,8 @@ lc3_decoder_t lc3_setup_decoder(
* pcm, stride Output PCM samples, and count between two consecutives
* return 0: On success 1: PLC operated -1: Wrong parameters
*/
int lc3_decode(lc3_decoder_t decoder, const void *in, int nbytes,
LC3_EXPORT int lc3_decode(
lc3_decoder_t decoder, const void *in, int nbytes,
enum lc3_pcm_format fmt, void *pcm, int stride);

310
3rd-party/lc3-google/include/lc3_cpp.h vendored Normal file
View File

@ -0,0 +1,310 @@
/******************************************************************************
*
* Copyright 2022 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************/
/**
* Low Complexity Communication Codec (LC3) - C++ interface
*/
#ifndef __LC3_CPP_H
#define __LC3_CPP_H
#include <cassert>
#include <memory>
#include <vector>
#include <stdlib.h>
#include "lc3.h"
namespace lc3 {
// PCM Sample Format
// - Signed 16 bits, in 16 bits words (int16_t)
// - Signed 24 bits, using low three bytes of 32 bits words (int32_t)
// The high byte sign extends (bits 31..24 set to b23)
// - Signed 24 bits packed in 3 bytes little endian
// - Floating point 32 bits (float type), in range -1 to 1
enum class PcmFormat {
kS16 = LC3_PCM_FORMAT_S16,
kS24 = LC3_PCM_FORMAT_S24,
kS24In3Le = LC3_PCM_FORMAT_S24_3LE,
kF32 = LC3_PCM_FORMAT_FLOAT
};
// Base Encoder/Decoder Class
template <typename T>
class Base {
protected:
Base(int dt_us, int sr_hz, int sr_pcm_hz, size_t nchannels, bool hrmode)
: dt_us_(dt_us),
sr_hz_(sr_hz),
sr_pcm_hz_(sr_pcm_hz == 0 ? sr_hz : sr_pcm_hz),
nchannels_(nchannels),
hrmode_(hrmode) {
states.reserve(nchannels_);
}
virtual ~Base() = default;
int dt_us_, sr_hz_;
int sr_pcm_hz_;
size_t nchannels_;
bool hrmode_;
using state_ptr = std::unique_ptr<T, decltype(&free)>;
std::vector<state_ptr> states;
public:
// Return the number of PCM samples in a frame
int GetFrameSamples() {
return lc3_hr_frame_samples(hrmode_, dt_us_, sr_pcm_hz_); }
// Return the size of a frame block, from bitrate
int GetFrameBytes(int bitrate) {
return lc3_hr_frame_block_bytes(
hrmode_, dt_us_, sr_hz_, nchannels_, bitrate); }
// Resolve the bitrate, from the size of frame blocks
int ResolveBitrate(int nbytes) {
return lc3_hr_resolve_bitrate(hrmode_, dt_us_, sr_hz_, nbytes); }
// Return algorithmic delay, as a number of samples
int GetDelaySamples() {
return lc3_hr_delay_samples(hrmode_, dt_us_, sr_pcm_hz_); }
}; // class Base
// Encoder Class
class Encoder : public Base<struct lc3_encoder> {
template <typename T>
int EncodeImpl(PcmFormat fmt, const T *pcm, int block_size, uint8_t *out) {
if (states.size() != nchannels_) return -1;
enum lc3_pcm_format cfmt = static_cast<lc3_pcm_format>(fmt);
int ret = 0;
uint8_t *out_ptr = out;
for (size_t ich = 0; ich < nchannels_; ich++) {
int frame_size = block_size / nchannels_
+ (ich < block_size % nchannels_);
ret |= lc3_encode(states[ich].get(), cfmt, pcm + ich, nchannels_,
frame_size, out_ptr);
out_ptr += frame_size;
}
return ret;
}
public:
// Encoder construction / destruction
//
// The frame duration `dt_us` is 2500, 5000, 7500 or 10000 us.
// The sample rate `sr_hz` is 8000, 16000, 24000, 32000 or 48000 Hz.
// The `hrmode` flag enables the high-resolution mode, in which case
// the sample rate is 48000 or 96000 Hz.
//
// The `sr_pcm_hz` parameter is a downsampling option of PCM input,
// the value 0 fallback to the sample rate of the encoded stream `sr_hz`.
// When used, `sr_pcm_hz` is intended to be higher or equal to the encoder
// sample rate `sr_hz`.
Encoder(int dt_us, int sr_hz, int sr_pcm_hz = 0,
size_t nchannels = 1, bool hrmode = false)
: Base(dt_us, sr_hz, sr_pcm_hz, nchannels, hrmode) {
for (size_t ich = 0; ich < nchannels_; ich++) {
auto s = state_ptr((lc3_encoder_t)
malloc(lc3_hr_encoder_size(hrmode_, dt_us_, sr_pcm_hz_)), free);
if (lc3_hr_setup_encoder(hrmode_, dt_us_, sr_hz_, sr_pcm_hz_, s.get()))
states.push_back(std::move(s));
}
}
~Encoder() override = default;
// Reset encoder state
void Reset() {
for (auto &s : states)
lc3_hr_setup_encoder(hrmode_, dt_us_, sr_hz_, sr_pcm_hz_, s.get());
}
// Encode
//
// The input PCM samples are given in signed 16 bits, 24 bits, float,
// according the type of `pcm` input buffer, or by selecting a format.
//
// The PCM samples are read in interleaved way, and consecutive
// `nchannels` frames, are output in `out` buffer, of size `buffer_size`.
//
// The value returned is 0 on successs, -1 otherwise.
int Encode(const int16_t *pcm, int block_size, uint8_t *out) {
return EncodeImpl(PcmFormat::kS16, pcm, block_size, out);
}
int Encode(const int32_t *pcm, int block_size, uint8_t *out) {
return EncodeImpl(PcmFormat::kS24, pcm, block_size, out);
}
int Encode(const float *pcm, int block_size, uint8_t *out) {
return EncodeImpl(PcmFormat::kF32, pcm, block_size, out);
}
int Encode(PcmFormat fmt, const void *pcm, int block_size, uint8_t *out) {
uintptr_t pcm_ptr = reinterpret_cast<uintptr_t>(pcm);
switch (fmt) {
case PcmFormat::kS16:
assert(pcm_ptr % alignof(int16_t) == 0);
return EncodeImpl(fmt, reinterpret_cast<const int16_t *>(pcm),
block_size, out);
case PcmFormat::kS24:
assert(pcm_ptr % alignof(int32_t) == 0);
return EncodeImpl(fmt, reinterpret_cast<const int32_t *>(pcm),
block_size, out);
case PcmFormat::kS24In3Le:
return EncodeImpl(fmt, reinterpret_cast<const int8_t(*)[3]>(pcm),
block_size, out);
case PcmFormat::kF32:
assert(pcm_ptr % alignof(float) == 0);
return EncodeImpl(fmt, reinterpret_cast<const float *>(pcm), block_size,
out);
}
return -1;
}
}; // class Encoder
// Decoder Class
class Decoder : public Base<struct lc3_decoder> {
template <typename T>
int DecodeImpl(const uint8_t *in, int block_size, PcmFormat fmt, T *pcm) {
if (states.size() != nchannels_) return -1;
enum lc3_pcm_format cfmt = static_cast<enum lc3_pcm_format>(fmt);
int ret = 0;
const uint8_t *in_ptr = in;
for (size_t ich = 0; ich < nchannels_; ich++) {
int frame_size = block_size / nchannels_
+ (ich < block_size % nchannels_);
ret |= lc3_decode(states[ich].get(), in_ptr, frame_size,
cfmt, pcm + ich, nchannels_);
in_ptr += frame_size;
}
return ret;
}
public:
// Decoder construction / destruction
//
// The frame duration `dt_us` is 2500, 5000, 7500 or 10000 us.
// The sample rate `sr_hz` is 8000, 16000, 24000, 32000 or 48000 Hz.
// The `hrmode` flag enables the high-resolution mode, in which case
// the sample rate is 48000 or 96000 Hz.
//
// The `sr_pcm_hz` parameter is an downsampling option of PCM output,
// the value 0 fallback to the sample rate of the decoded stream `sr_hz`.
// When used, `sr_pcm_hz` is intended to be higher or equal to the decoder
// sample rate `sr_hz`.
Decoder(int dt_us, int sr_hz, int sr_pcm_hz = 0,
size_t nchannels = 1, bool hrmode = false)
: Base(dt_us, sr_hz, sr_pcm_hz, nchannels, hrmode) {
for (size_t i = 0; i < nchannels_; i++) {
auto s = state_ptr((lc3_decoder_t)
malloc(lc3_hr_decoder_size(hrmode_, dt_us_, sr_pcm_hz_)), free);
if (lc3_hr_setup_decoder(hrmode_, dt_us_, sr_hz_, sr_pcm_hz_, s.get()))
states.push_back(std::move(s));
}
}
~Decoder() override = default;
// Reset decoder state
void Reset() {
for (auto &s : states)
lc3_hr_setup_decoder(hrmode_, dt_us_, sr_hz_, sr_pcm_hz_, s.get());
}
// Decode
//
// Decode a frame block of size `block_size`,
// in the `pcm` buffer in interleaved way.
//
// The PCM samples are output in signed 16 bits, 24 bits, float,
// according the type of `pcm` output buffer, or by selecting a format.
//
// The value returned is 0 on successs, 1 when PLC has been performed,
// and -1 otherwise.
int Decode(const uint8_t *in, int block_size, int16_t *pcm) {
return DecodeImpl(in, block_size, PcmFormat::kS16, pcm);
}
int Decode(const uint8_t *in, int block_size, int32_t *pcm) {
return DecodeImpl(in, block_size, PcmFormat::kS24In3Le, pcm);
}
int Decode(const uint8_t *in, int block_size, float *pcm) {
return DecodeImpl(in, block_size, PcmFormat::kF32, pcm);
}
int Decode(const uint8_t *in, int block_size, PcmFormat fmt, void *pcm) {
uintptr_t pcm_ptr = reinterpret_cast<uintptr_t>(pcm);
switch (fmt) {
case PcmFormat::kS16:
assert(pcm_ptr % alignof(int16_t) == 0);
return DecodeImpl(in, block_size, fmt,
reinterpret_cast<int16_t *>(pcm));
case PcmFormat::kS24:
assert(pcm_ptr % alignof(int32_t) == 0);
return DecodeImpl(in, block_size, fmt,
reinterpret_cast<int32_t *>(pcm));
case PcmFormat::kS24In3Le:
return DecodeImpl(in, block_size, fmt,
reinterpret_cast<int8_t(*)[3]>(pcm));
case PcmFormat::kF32:
assert(pcm_ptr % alignof(float) == 0);
return DecodeImpl(in, block_size, fmt, reinterpret_cast<float *>(pcm));
}
return -1;
}
}; // class Decoder
} // namespace lc3
#endif /* __LC3_CPP_H */

View File

@ -24,39 +24,50 @@
/**
* Return number of samples, delayed samples and
* encoded spectrum coefficients within a frame
* - For encoding, keep 1.25 ms of temporal winodw
* - For decoding, keep 18 ms of history, aligned on frames, and a frame
* Characteristics
*
* - The number of samples within a frame
*
* - The number of MDCT delayed samples, sum of half a frame and
* an ovelap of future by 1.25 ms (2.5ms, 5ms and 10ms frame durations)
* or 2 ms (7.5ms frame duration).
*
* - For decoding, keep 18 ms of history, aligned on a frame
*
* - For encoding, keep 1.25 ms of temporal previous samples
*/
#define __LC3_NS(dt_us, sr_hz) \
( (dt_us * sr_hz) / 1000 / 1000 )
#define LC3_NS(dt_us, sr_hz) \
( (dt_us) * (sr_hz) / 1000 / 1000 )
#define __LC3_ND(dt_us, sr_hz) \
( (dt_us) == 7500 ? 23 * __LC3_NS(dt_us, sr_hz) / 30 \
: 5 * __LC3_NS(dt_us, sr_hz) / 8 )
#define LC3_ND(dt_us, sr_hz) \
( LC3_NS(dt_us, sr_hz) / 2 + \
LC3_NS((dt_us) == 7500 ? 2000 : 1250, sr_hz) )
#define __LC3_NT(sr_hz) \
( (5 * sr_hz) / 4000 )
#define LC3_NH(dt_us, sr_hz) \
( (sr_hz) > 48000 ? 0 : ( LC3_NS(18000, sr_hz) + \
LC3_NS(dt_us, sr_hz) - (LC3_NS(18000, sr_hz) % LC3_NS(dt_us, sr_hz)) ) )
#define __LC3_NH(dt_us, sr_hz) \
( ((3 - ((dt_us) >= 10000)) + 1) * __LC3_NS(dt_us, sr_hz) )
#define LC3_NT(sr_hz) \
( LC3_NS(1250, sr_hz) )
/**
* Frame duration 7.5ms or 10ms
* Frame duration
*/
enum lc3_dt {
LC3_DT_7M5,
LC3_DT_10M,
LC3_DT_2M5 = 0,
LC3_DT_5M = 1,
LC3_DT_7M5 = 2,
LC3_DT_10M = 3,
LC3_NUM_DT
};
/**
* Sampling frequency
* Sampling frequency and high-resolution mode
*/
enum lc3_srate {
@ -65,8 +76,10 @@ enum lc3_srate {
LC3_SRATE_24K,
LC3_SRATE_32K,
LC3_SRATE_48K,
LC3_SRATE_48K_HR,
LC3_SRATE_96K_HR,
LC3_NUM_SRATE,
LC3_NUM_SRATE
};
@ -107,18 +120,18 @@ struct lc3_encoder {
lc3_ltpf_analysis_t ltpf;
lc3_spec_analysis_t spec;
int16_t *xt;
float *xs, *xd, s[1];
int xt_off, xs_off, xd_off;
float x[1];
};
#define LC3_ENCODER_BUFFER_COUNT(dt_us, sr_hz) \
( ( __LC3_NS(dt_us, sr_hz) + __LC3_NT(sr_hz) ) / 2 + \
__LC3_NS(dt_us, sr_hz) + __LC3_ND(dt_us, sr_hz) )
( ( LC3_NS(dt_us, sr_hz) + LC3_NT(sr_hz) ) / 2 + \
LC3_NS(dt_us, sr_hz) + LC3_ND(dt_us, sr_hz) )
#define LC3_ENCODER_MEM_T(dt_us, sr_hz) \
struct { \
struct lc3_encoder __e; \
float __s[LC3_ENCODER_BUFFER_COUNT(dt_us, sr_hz)-1]; \
float __x[LC3_ENCODER_BUFFER_COUNT(dt_us, sr_hz)-1]; \
}
@ -145,18 +158,30 @@ struct lc3_decoder {
lc3_ltpf_synthesis_t ltpf;
lc3_plc_state_t plc;
float *xh, *xs, *xd, *xg, s[1];
int xh_off, xs_off, xd_off, xg_off;
float x[1];
};
#define LC3_DECODER_BUFFER_COUNT(dt_us, sr_hz) \
( __LC3_NH(dt_us, sr_hz) + __LC3_ND(dt_us, sr_hz) + \
__LC3_NS(dt_us, sr_hz) )
( LC3_NH(dt_us, sr_hz) + LC3_NS(dt_us, sr_hz) + \
LC3_ND(dt_us, sr_hz) + LC3_NS(dt_us, sr_hz) )
#define LC3_DECODER_MEM_T(dt_us, sr_hz) \
struct { \
struct lc3_decoder __d; \
float __s[LC3_DECODER_BUFFER_COUNT(dt_us, sr_hz)-1]; \
float __x[LC3_DECODER_BUFFER_COUNT(dt_us, sr_hz)-1]; \
}
/**
* Change the visibility of interface functions
*/
#ifdef _WIN32
#define LC3_EXPORT __declspec(dllexport)
#else
#define LC3_EXPORT __attribute__((visibility ("default")))
#endif
#endif /* __LC3_PRIVATE_H */

40
3rd-party/lc3-google/meson.build vendored Normal file
View File

@ -0,0 +1,40 @@
# Copyright © 2022 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
project('lc3', 'c',
version: '1.1.0',
license: 'Apache-2.0',
meson_version: '>= 0.48.0',
default_options: ['buildtype=release', 'b_lto=true'])
cc = meson.get_compiler('c')
if cc.get_id() == 'msvc'
add_project_arguments(['/wd4244', '/wd4305', '/fp:fast'], language: 'c')
else
add_project_arguments('-ffast-math', language: 'c')
endif
m_dep = cc.find_library('m', required: false)
subdir('src')
if get_option('tools')
subdir('tools')
endif
if get_option('python')
subdir('python')
endif

23
3rd-party/lc3-google/meson_options.txt vendored Normal file
View File

@ -0,0 +1,23 @@
# Copyright © 2022 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
option('tools',
type: 'boolean',
value: false,
description: 'Build tools')
option('python',
type: 'boolean',
value: false,
description: 'Build python bindings')

19
3rd-party/lc3-google/pyproject.toml vendored Normal file
View File

@ -0,0 +1,19 @@
[build-system]
requires = ["meson-python"]
build-backend = "mesonpy"
[project]
name = "lc3"
version = "0.0.1"
license = { text="Apache-2.0" }
authors = [
{ name="Antoine Soulier", email="asoulier@google.com" },
]
description = "LC3 Codec library wrapper"
requires-python = ">=3.10"
[project.urls]
Homepage = "https://github.com/google/liblc3"
[tool.meson-python.args]
setup = ['-Dpython=true']

202
3rd-party/lc3-google/python/LICENSE vendored Normal file
View File

@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

400
3rd-party/lc3-google/python/lc3.py vendored Normal file
View File

@ -0,0 +1,400 @@
#
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import array
import ctypes
import enum
import glob
import os
from ctypes import c_bool, c_byte, c_int, c_uint, c_size_t, c_void_p
from ctypes.util import find_library
class _Base:
def __init__(self, frame_duration, samplerate, nchannels, **kwargs):
self.hrmode = False
self.dt_us = int(frame_duration * 1000)
self.sr_hz = int(samplerate)
self.sr_pcm_hz = self.sr_hz
self.nchannels = nchannels
libpath = None
for k in kwargs.keys():
if k == 'hrmode':
self.hrmode = bool(kwargs[k])
elif k == 'pcm_samplerate':
self.sr_pcm_hz = int(kwargs[k])
elif k == 'libpath':
libpath = kwargs[k]
else:
raise ValueError("Invalid keyword argument: " + k)
if self.dt_us not in [2500, 5000, 7500, 10000]:
raise ValueError(
"Invalid frame duration: %.1f ms" % frame_duration)
allowed_samplerate = [8000, 16000, 24000, 32000, 48000] \
if not self.hrmode else [48000, 96000]
if self.sr_hz not in allowed_samplerate:
raise ValueError("Invalid sample rate: %d Hz" % samplerate)
if libpath is None:
mesonpy_lib = glob.glob(os.path.join(os.path.dirname(__file__), '.lc3.mesonpy.libs', '*lc3*'))
if mesonpy_lib:
libpath = mesonpy_lib[0]
else:
libpath = find_library("lc3")
if not libpath:
raise Exception("LC3 library not found")
lib = ctypes.cdll.LoadLibrary(libpath)
try:
lib.lc3_hr_frame_samples \
and lib.lc3_hr_frame_block_bytes \
and lib.lc3_hr_resolve_bitrate \
and lib.lc3_hr_delay_samples
except AttributeError:
if self.hrmode:
raise Exception('High-Resolution interface not available')
lib.lc3_hr_frame_samples = \
lambda hrmode, dt_us, sr_hz: \
lib.lc3_frame_samples(dt_us, sr_hz)
lib.lc3_hr_frame_block_bytes = \
lambda hrmode, dt_us, sr_hz, nchannels, bitrate: \
nchannels * lib.lc3_frame_bytes(dt_us, bitrate // 2)
lib.lc3_hr_resolve_bitrate = \
lambda hrmode, dt_us, sr_hz, nbytes: \
lib.lc3_resolve_bitrate(dt_us, nbytes)
lib.lc3_hr_delay_samples = \
lambda hrmode, dt_us, sr_hz: \
lib.lc3_delay_samples(dt_us, sr_hz)
lib.lc3_hr_frame_samples.argtypes = [c_bool, c_int, c_int]
lib.lc3_hr_frame_block_bytes.argtypes = \
[c_bool, c_int, c_int, c_int, c_int]
lib.lc3_hr_resolve_bitrate.argtypes = [c_bool, c_int, c_int, c_int]
lib.lc3_hr_delay_samples.argtypes = [c_bool, c_int, c_int]
self.lib = lib
libc = ctypes.cdll.LoadLibrary(find_library("c"))
self.malloc = libc.malloc
self.malloc.argtypes = [c_size_t]
self.malloc.restype = c_void_p
self.free = libc.free
self.free.argtypes = [c_void_p]
def get_frame_samples(self):
"""
Returns the number of PCM samples in an LC3 frame
"""
ret = self.lib.lc3_hr_frame_samples(
self.hrmode, self.dt_us, self.sr_pcm_hz)
if ret < 0:
raise ValueError("Bad parameters")
return ret
def get_frame_bytes(self, bitrate):
"""
Returns the size of LC3 frame blocks, from bitrate in bit per seconds.
A target `bitrate` equals 0 or `INT32_MAX` returns respectively
the minimum and maximum allowed size.
"""
ret = self.lib.lc3_hr_frame_block_bytes(
self.hrmode, self.dt_us, self.sr_hz, self.nchannels, bitrate)
if ret < 0:
raise ValueError("Bad parameters")
return ret
def resolve_bitrate(self, nbytes):
"""
Returns the bitrate in bits per seconds, from the size of LC3 frames.
"""
ret = self.lib.lc3_hr_resolve_bitrate(
self.hrmode, self.dt_us, self.sr_hz, nbytes)
if ret < 0:
raise ValueError("Bad parameters")
return ret
def get_delay_samples(self):
"""
Returns the algorithmic delay, as a number of samples.
"""
ret = self.lib.lc3_hr_delay_samples(
self.hrmode, self.dt_us, self.sr_pcm_hz)
if ret < 0:
raise ValueError("Bad parameters")
return ret
@staticmethod
def _resolve_pcm_format(bitdepth):
PCM_FORMAT_S16 = 0
PCM_FORMAT_S24 = 1
PCM_FORMAT_S24_3LE = 2
PCM_FORMAT_FLOAT = 3
match bitdepth:
case 16: return (PCM_FORMAT_S16, ctypes.c_int16)
case 24: return (PCM_FORMAT_S24_3LE, 3 * ctypes.c_byte)
case None: return (PCM_FORMAT_FLOAT, ctypes.c_float)
case _: raise ValueError("Could not interpret PCM bitdepth")
class Encoder(_Base):
"""
LC3 Encoder wrapper
The `frame_duration` expressed in milliseconds is any of 2.5, 5.0, 7.5
or 10.0. The `samplerate`, in Hertz, is any of 8000, 16000, 24000, 32000
or 48000, unless High-Resolution mode is enabled. In High-Resolution mode,
the `samplerate` is 48000 or 96000.
By default, one channel is processed. When `nchannels` is greater than one,
the PCM input stream is read interleaved and consecutives LC3 frames are
output, for each channel.
Keyword arguments:
hrmode : Enable High-Resolution mode, default is `False`.
sr_pcm_hz : Input PCM samplerate, enable downsampling of input.
libpath : LC3 library path and name
"""
class c_encoder_t(c_void_p):
pass
def __init__(self, frame_duration, samplerate, nchannels=1, **kwargs):
super().__init__(frame_duration, samplerate, nchannels, **kwargs)
lib = self.lib
try:
lib.lc3_hr_encoder_size \
and lib.lc3_hr_setup_encoder
except AttributeError:
assert not self.hrmode
lib.lc3_hr_encoder_size = \
lambda hrmode, dt_us, sr_hz: \
lib.lc3_encoder_size(dt_us, sr_hz)
lib.lc3_hr_setup_encoder = \
lambda hrmode, dt_us, sr_hz, sr_pcm_hz, mem: \
lib.lc3_setup_encoder(dt_us, sr_hz, sr_pcm_hz, mem)
lib.lc3_hr_encoder_size.argtypes = [c_bool, c_int, c_int]
lib.lc3_hr_encoder_size.restype = c_uint
lib.lc3_hr_setup_encoder.argtypes = \
[c_bool, c_int, c_int, c_int, c_void_p]
lib.lc3_hr_setup_encoder.restype = self.c_encoder_t
lib.lc3_encode.argtypes = \
[self.c_encoder_t, c_int, c_void_p, c_int, c_int, c_void_p]
def new_encoder(): return lib.lc3_hr_setup_encoder(
self.hrmode, self.dt_us, self.sr_hz, self.sr_pcm_hz,
self.malloc(lib.lc3_hr_encoder_size(
self.hrmode, self.dt_us, self.sr_pcm_hz)))
self.__encoders = [new_encoder() for i in range(nchannels)]
def __del__(self):
try:
(self.free(encoder) for encoder in self.__encoders)
finally:
return
def encode(self, pcm, nbytes, bitdepth=None):
"""
Encode LC3 frame(s), for each channel.
The `pcm` input is given in two ways. When no `bitdepth` is defined,
it's a vector of floating point values from -1 to 1, coding the sample
levels. When `bitdepth` is defined, `pcm` is interpreted as a byte-like
object, each sample coded on `bitdepth` bits (16 or 24).
The machine endianness, or little endian, is used for 16 or 24 bits
width, respectively.
In both cases, the `pcm` vector data is padded with zeros when
its length is less than the required input samples for the encoder.
Channels concatenation of encoded LC3 frames, of `nbytes`, is returned.
"""
nchannels = self.nchannels
frame_samples = self.get_frame_samples()
(pcm_fmt, pcm_t) = self._resolve_pcm_format(bitdepth)
pcm_len = nchannels * frame_samples
if bitdepth is None:
pcm_buffer = array.array('f', pcm)
# Invert test to catch NaN
if not abs(sum(pcm)) / frame_samples < 2:
raise ValueError("Out of range PCM input")
padding = max(pcm_len - frame_samples, 0)
pcm_buffer.extend(array.array('f', [0] * padding))
else:
padding = max(pcm_len * ctypes.sizeof(pcm_t) - len(pcm), 0)
pcm_buffer = bytearray(pcm) + bytearray(padding)
data_buffer = (c_byte * nbytes)()
data_offset = 0
for (ich, encoder) in enumerate(self.__encoders):
pcm_offset = ich * ctypes.sizeof(pcm_t)
pcm = (pcm_t * (pcm_len - ich)).from_buffer(pcm_buffer, pcm_offset)
data_size = nbytes // nchannels + int(ich < nbytes % nchannels)
data = (c_byte * data_size).from_buffer(data_buffer, data_offset)
data_offset += data_size
ret = self.lib.lc3_encode(
encoder, pcm_fmt, pcm, nchannels, len(data), data)
if ret < 0:
raise ValueError("Bad parameters")
return bytes(data_buffer)
class Decoder(_Base):
"""
LC3 Decoder wrapper
The `frame_duration` expressed in milliseconds is any of 2.5, 5.0, 7.5
or 10.0. The `samplerate`, in Hertz, is any of 8000, 16000, 24000, 32000
or 48000, unless High-Resolution mode is enabled. In High-Resolution
mode, the `samplerate` is 48000 or 96000.
By default, one channel is processed. When `nchannels` is greater than one,
the PCM input stream is read interleaved and consecutives LC3 frames are
output, for each channel.
Keyword arguments:
hrmode : Enable High-Resolution mode, default is `False`.
sr_pcm_hz : Output PCM samplerate, enable upsampling of output.
libpath : LC3 library path and name
"""
class c_decoder_t(c_void_p):
pass
def __init__(self, frame_duration, samplerate, nchannels=1, **kwargs):
super().__init__(frame_duration, samplerate, nchannels, **kwargs)
lib = self.lib
try:
lib.lc3_hr_decoder_size \
and lib.lc3_hr_setup_decoder
except AttributeError:
assert not self.hrmode
lib.lc3_hr_decoder_size = \
lambda hrmode, dt_us, sr_hz: \
lib.lc3_decoder_size(dt_us, sr_hz)
lib.lc3_hr_setup_decoder = \
lambda hrmode, dt_us, sr_hz, sr_pcm_hz, mem: \
lib.lc3_setup_decoder(dt_us, sr_hz, sr_pcm_hz, mem)
lib.lc3_hr_decoder_size.argtypes = [c_bool, c_int, c_int]
lib.lc3_hr_decoder_size.restype = c_uint
lib.lc3_hr_setup_decoder.argtypes = \
[c_bool, c_int, c_int, c_int, c_void_p]
lib.lc3_hr_setup_decoder.restype = self.c_decoder_t
lib.lc3_decode.argtypes = \
[self.c_decoder_t, c_void_p, c_int, c_int, c_void_p, c_int]
def new_decoder(): return lib.lc3_hr_setup_decoder(
self.hrmode, self.dt_us, self.sr_hz, self.sr_pcm_hz,
self.malloc(lib.lc3_hr_decoder_size(
self.hrmode, self.dt_us, self.sr_pcm_hz)))
self.__decoders = [new_decoder() for i in range(nchannels)]
def __del__(self):
try:
(self.free(decoder) for decoder in self.__decoders)
finally:
return
def decode(self, data, bitdepth=None):
"""
Decode an LC3 frame
The input `data` is the channels concatenation of LC3 frames in a
byte-like object. Interleaved PCM samples are returned according to
the `bitdepth` indication.
When no `bitdepth` is defined, it's a vector of floating point values
from -1 to 1, coding the sample levels. When `bitdepth` is defined,
it returns a byte array, each sample coded on `bitdepth` bits.
The machine endianness, or little endian, is used for 16 or 24 bits
width, respectively.
"""
nchannels = self.nchannels
frame_samples = self.get_frame_samples()
(pcm_fmt, pcm_t) = self._resolve_pcm_format(bitdepth)
pcm_len = nchannels * self.get_frame_samples()
pcm_buffer = (pcm_t * pcm_len)()
data_buffer = bytearray(data)
data_offset = 0
for (ich, decoder) in enumerate(self.__decoders):
pcm_offset = ich * ctypes.sizeof(pcm_t)
pcm = (pcm_t * (pcm_len - ich)).from_buffer(pcm_buffer, pcm_offset)
data_size = len(data_buffer) // nchannels + \
int(ich < len(data_buffer) % nchannels)
data = (c_byte * data_size).from_buffer(data_buffer, data_offset)
data_offset += data_size
ret = self.lib.lc3_decode(
decoder, data, len(data), pcm_fmt, pcm, self.nchannels)
if ret < 0:
raise ValueError("Bad parameters")
return array.array('f', pcm_buffer) \
if bitdepth is None else bytes(pcm_buffer)

View File

@ -0,0 +1,3 @@
py = import('python').find_installation()
py.install_sources('lc3.py')

96
3rd-party/lc3-google/python/tools/decoder.py vendored Executable file
View File

@ -0,0 +1,96 @@
#!/usr/bin/env python3
#
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import argparse
import lc3
import struct
import sys
import wave
parser = argparse.ArgumentParser(description='LC3 Decoder')
parser.add_argument(
'lc3_file', nargs='?',
help='Input bitstream file, default is stdin',
type=argparse.FileType('rb'), default=sys.stdin.buffer)
parser.add_argument(
'wav_file', nargs='?',
help='Output wave file, default is stdout',
type=argparse.FileType('wb'), default=sys.stdout.buffer)
parser.add_argument(
'--bitdepth',
help='Output bitdepth, default is 16 bits',
type=int, choices=[16, 24], default=16)
parser.add_argument(
'--libpath', help='LC3 Library path')
args = parser.parse_args()
# --- LC3 File input ---
f_lc3 = args.lc3_file
header = struct.unpack('=HHHHHHHI', f_lc3.read(18))
if header[0] != 0xcc1c:
raise ValueError('Invalid bitstream file')
samplerate = header[2] * 100
nchannels = header[4]
frame_duration = header[5] / 100
stream_length = header[7]
# --- Setup output ---
bitdepth = args.bitdepth
pcm_size = nchannels * (bitdepth // 8)
f_wav = args.wav_file
wavfile = wave.open(f_wav)
wavfile.setnchannels(nchannels)
wavfile.setsampwidth(bitdepth // 8)
wavfile.setframerate(samplerate)
wavfile.setnframes(stream_length)
# --- Setup decoder ---
dec = lc3.Decoder(
frame_duration, samplerate, nchannels, libpath=args.libpath)
frame_length = dec.get_frame_samples()
encoded_length = stream_length + dec.get_delay_samples()
# --- Decoding loop ---
for i in range(0, encoded_length, frame_length):
lc3_frame_size = struct.unpack('=H', f_lc3.read(2))[0]
pcm = dec.decode(f_lc3.read(lc3_frame_size), bitdepth=bitdepth)
pcm = pcm[max(encoded_length - stream_length - i, 0) * pcm_size:
min(encoded_length - i, frame_length) * pcm_size]
wavfile.writeframesraw(pcm)
# --- Cleanup ---
wavfile.close()
for f in (f_lc3, f_wav):
if f is not sys.stdout.buffer:
f.close()

88
3rd-party/lc3-google/python/tools/encoder.py vendored Executable file
View File

@ -0,0 +1,88 @@
#!/usr/bin/env python3
#
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import argparse
import lc3
import struct
import sys
import wave
parser = argparse.ArgumentParser(description='LC3 Encoder')
parser.add_argument(
'wav_file', nargs='?',
help='Input wave file, default is stdin',
type=argparse.FileType('rb'), default=sys.stdin.buffer)
parser.add_argument(
'lc3_file', nargs='?',
help='Output bitstream file, default is stdout',
type=argparse.FileType('wb'), default=sys.stdout.buffer)
parser.add_argument(
'--bitrate', help='Bitrate in bps', type=int, required=True)
parser.add_argument(
'--frame_duration', help='Frame duration in ms', type=float, default=10)
parser.add_argument(
'--libpath', help='LC3 Library path')
args = parser.parse_args()
# --- WAV File input ---
f_wav = args.wav_file
wavfile = wave.open(f_wav, 'rb')
samplerate = wavfile.getframerate()
nchannels = wavfile.getnchannels()
bitdepth = wavfile.getsampwidth() * 8
stream_length = wavfile.getnframes()
# --- Setup encoder ---
enc = lc3.Encoder(
args.frame_duration, samplerate, nchannels, libpath=args.libpath)
frame_size = enc.get_frame_bytes(args.bitrate)
frame_length = enc.get_frame_samples()
bitrate = enc.resolve_bitrate(frame_size)
# --- Setup output ---
f_lc3 = args.lc3_file
f_lc3.write(struct.pack(
'=HHHHHHHI', 0xcc1c, 18,
samplerate // 100, bitrate // 100, nchannels,
int(args.frame_duration * 100), 0, stream_length))
# --- Encoding loop ---
for i in range(0, stream_length, frame_length):
f_lc3.write(struct.pack('=H', frame_size))
pcm = wavfile.readframes(frame_length)
f_lc3.write(enc.encode(pcm, frame_size, bitdepth=bitdepth))
# --- Cleanup ---
wavfile.close()
for f in (f_wav, f_lc3):
if f is not sys.stdout.buffer:
f.close()

92
3rd-party/lc3-google/python/tools/specgram.py vendored Executable file
View File

@ -0,0 +1,92 @@
#!/usr/bin/env python3
#
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import argparse
import lc3
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import scipy.signal as signal
matplotlib.use('QtAgg')
parser = argparse.ArgumentParser(description='LC3 Encoder')
parser.add_argument(
'--frame_duration', help='Frame duration (ms)', type=float, default=10)
parser.add_argument(
'--sample_rate', help='Sampling frequency (Hz)', type=float, default=48000)
parser.add_argument(
'--hrmode', help='Enable high-resolution mode', action='store_true')
parser.add_argument(
'--bitrate', help='Bitrate (bps)', type=int, default=96000)
parser.add_argument(
'--libpath', help='LC3 Library path')
args = parser.parse_args()
# --- Setup encoder + decoder ---
fs = args.sample_rate
enc = lc3.Encoder(
args.frame_duration, fs, hrmode=args.hrmode, libpath=args.libpath)
dec = lc3.Decoder(
args.frame_duration, fs, hrmode=args.hrmode, libpath=args.libpath)
frame_len = enc.get_frame_samples()
delay_len = enc.get_delay_samples()
# --- Generate 10 seconds chirp ---
n = 10 * int(fs)
t = np.arange(n - (n % frame_len)) / fs
s = signal.chirp(t, f0=10, f1=fs/2, t1=t[-1], phi=-90, method='linear')
# --- Encoding / decoding loop ---
frame_size = enc.get_frame_bytes(args.bitrate)
bitrate = enc.resolve_bitrate(frame_size)
y = np.empty(len(s) + frame_len)
for i in range(0, len(s), frame_len):
y[i:i+frame_len] = dec.decode(enc.encode(s[i:i+frame_len], frame_size))
y[len(s):] = dec.decode(enc.encode(np.zeros(frame_len), frame_size))
y = y[delay_len:len(s)+delay_len]
# --- Plot spectrograms ---
fig, (ax1, ax2) = plt.subplots(nrows=2, sharex=True)
NFFT = 512
for (ax, s) in [(ax1, s), (ax2, y)]:
ax.specgram(s, Fs=fs, NFFT=NFFT, pad_to=4*NFFT, noverlap=NFFT//2,
vmin=-160, vmax=0)
ax1.set_title('Input signal')
ax1.set_ylabel('Frequency (Hz)')
ax2.set_title(('Processed signal (%.1f kbps)' % (bitrate/1000)))
ax2.set_ylabel('Frequency (Hz)')
plt.show()

View File

@ -27,14 +27,14 @@ bool lc3_attdet_run(enum lc3_dt dt, enum lc3_srate sr,
{
/* --- Check enabling --- */
const int nbytes_ranges[LC3_NUM_DT][LC3_NUM_SRATE - LC3_SRATE_32K][2] = {
[LC3_DT_7M5] = { { 61, 149 }, { 75, 149 } },
[LC3_DT_10M] = { { 81, INT_MAX }, { 100, INT_MAX } },
const int nbytes_ranges[][LC3_NUM_SRATE - LC3_SRATE_32K][2] = {
[LC3_DT_7M5 - LC3_DT_7M5] = { { 61, 149 }, { 75, 149 } },
[LC3_DT_10M - LC3_DT_7M5] = { { 81, INT_MAX }, { 100, INT_MAX } },
};
if (sr < LC3_SRATE_32K ||
nbytes < nbytes_ranges[dt][sr - LC3_SRATE_32K][0] ||
nbytes > nbytes_ranges[dt][sr - LC3_SRATE_32K][1] )
if (dt < LC3_DT_7M5 || sr < LC3_SRATE_32K || lc3_hr(sr) ||
nbytes < nbytes_ranges[dt - LC3_DT_7M5][sr - LC3_SRATE_32K][0] ||
nbytes > nbytes_ranges[dt - LC3_DT_7M5][sr - LC3_SRATE_32K][1] )
return 0;
/* --- Filtering & Energy calculation --- */

View File

@ -16,13 +16,6 @@
*
******************************************************************************/
/**
* LC3 - Time domain attack detector
*
* Reference : Low Complexity Communication Codec (LC3)
* Bluetooth Specification v1.0
*/
#ifndef __LC3_ATTDET_H
#define __LC3_ATTDET_H

View File

@ -322,7 +322,7 @@ static inline void accu_load(struct lc3_bits_accu *accu,
for ( ; nbytes; nbytes--) {
accu->v >>= 8;
accu->v |= *(--buffer->p_bw) << (LC3_ACCU_BITS - 8);
accu->v |= (unsigned)*(--buffer->p_bw) << (LC3_ACCU_BITS - 8);
}
if (accu->n >= 8) {

View File

@ -17,8 +17,6 @@
******************************************************************************/
/**
* LC3 - Bitstream management
*
* The bitstream is written by the 2 ends of the buffer :
*
* - Arthmetic coder put bits while increasing memory addresses
@ -56,10 +54,6 @@
* - The procedure `lc3_check_bits()` returns indication that read has been
* made crossing the other bit plane.
*
*
* Reference : Low Complexity Communication Codec (LC3)
* Bluetooth Specification v1.0
*
*/
#ifndef __LC3_BITS_H

View File

@ -25,29 +25,52 @@
enum lc3_bandwidth lc3_bwdet_run(
enum lc3_dt dt, enum lc3_srate sr, const float *e)
{
/* Bandwidth regions (Table 3.6) */
/* Bandwidth regions */
struct region { int is : 8; int ie : 8; };
static const struct region bws_table[LC3_NUM_DT]
[LC3_NUM_BANDWIDTH-1][LC3_NUM_BANDWIDTH-1] = {
#if LC3_PLUS
[LC3_DT_7M5] = {
{ { 51, 63+1 } },
{ { 45, 55+1 }, { 58, 63+1 } },
{ { 42, 51+1 }, { 53, 58+1 }, { 60, 63+1 } },
{ { 40, 48+1 }, { 51, 55+1 }, { 57, 60+1 }, { 61, 63+1 } },
},
[LC3_DT_10M] = {
{ { 53, 63+1 } },
{ { 47, 56+1 }, { 59, 63+1 } },
{ { 44, 52+1 }, { 54, 59+1 }, { 60, 63+1 } },
{ { 41, 49+1 }, { 51, 55+1 }, { 57, 60+1 }, { 61, 63+1 } },
},
static const struct region bws_table_2m5[][LC3_BANDWIDTH_SWB+1] = {
{ { 24, 34+1 } },
{ { 24, 32+1 }, { 35, 39+1 } },
{ { 24, 31+1 }, { 33, 38+1 }, { 39, 42+1 } },
{ { 22, 29+1 }, { 31, 35+1 }, { 37, 40+1 }, { 41, 43+1 } },
};
static const int l_table[LC3_NUM_DT][LC3_NUM_BANDWIDTH-1] = {
static const struct region bws_table_5m[][LC3_BANDWIDTH_SWB+1] = {
{ { 39, 49+1 } },
{ { 35, 44+1 }, { 47, 51+1 } },
{ { 34, 42+1 }, { 44, 49+1 }, { 50, 53+1 } },
{ { 32, 40+1 }, { 42, 46+1 }, { 48, 51+1 }, { 52, 54+1 } },
};
#endif /* LC3_PLUS */
static const struct region bws_table_7m5[][LC3_BANDWIDTH_SWB+1] = {
{ { 51, 63+1 } },
{ { 45, 55+1 }, { 58, 63+1 } },
{ { 42, 51+1 }, { 53, 58+1 }, { 60, 63+1 } },
{ { 40, 48+1 }, { 51, 55+1 }, { 57, 60+1 }, { 61, 63+1 } },
};
static const struct region bws_table_10m[][LC3_BANDWIDTH_SWB+1] = {
{ { 53, 63+1 } },
{ { 47, 56+1 }, { 59, 63+1 } },
{ { 44, 52+1 }, { 54, 59+1 }, { 60, 63+1 } },
{ { 41, 49+1 }, { 51, 55+1 }, { 57, 60+1 }, { 61, 63+1 } },
};
static const struct region (*bws_table[])[LC3_BANDWIDTH_SWB+1] = {
[LC3_DT_2M5] = LC3_IF_PLUS(bws_table_2m5, NULL),
[LC3_DT_5M ] = LC3_IF_PLUS(bws_table_5m , NULL),
[LC3_DT_7M5] = bws_table_7m5,
[LC3_DT_10M] = bws_table_10m,
};
static const int l_table[LC3_NUM_DT][LC3_BANDWIDTH_SWB+1] = {
[LC3_DT_2M5] = { 4, 4, 3, 1 },
[LC3_DT_5M ] = { 4, 4, 3, 1 },
[LC3_DT_7M5] = { 4, 4, 3, 2 },
[LC3_DT_10M] = { 4, 4, 3, 1 },
};
@ -58,7 +81,7 @@ enum lc3_bandwidth lc3_bwdet_run(
enum lc3_bandwidth bw0 = LC3_BANDWIDTH_NB;
enum lc3_bandwidth bwn = (enum lc3_bandwidth)sr;
if (bwn <= bw0)
if (bwn <= bw0 || lc3_hr(sr))
return bwn;
const struct region *bwr = bws_table[dt][bwn-1];
@ -101,7 +124,7 @@ enum lc3_bandwidth lc3_bwdet_run(
*/
int lc3_bwdet_get_nbits(enum lc3_srate sr)
{
return (sr > 0) + (sr > 1) + (sr > 3);
return lc3_hr(sr) ? 0 : (sr > 0) + (sr > 1) + (sr > 3);
}
/**
@ -124,6 +147,8 @@ int lc3_bwdet_get_bw(lc3_bits_t *bits,
enum lc3_bandwidth max_bw = (enum lc3_bandwidth)sr;
int nbits_bw = lc3_bwdet_get_nbits(sr);
*bw = nbits_bw > 0 ? lc3_get_bits(bits, nbits_bw) : LC3_BANDWIDTH_NB;
*bw = nbits_bw <= 0 ? max_bw :
(enum lc3_bandwidth)lc3_get_bits(bits, nbits_bw);
return *bw > max_bw ? (*bw = max_bw), -1 : 0;
}

View File

@ -16,13 +16,6 @@
*
******************************************************************************/
/**
* LC3 - Bandwidth detector
*
* Reference : Low Complexity Communication Codec (LC3)
* Bluetooth Specification v1.0
*/
#ifndef __LC3_BWDET_H
#define __LC3_BWDET_H
@ -31,7 +24,7 @@
/**
* Bandwidth detector (cf. 3.3.5)
* Bandwidth detector
* dt, sr Duration and samplerate of the frame
* e Energy estimation per bands
* return Return detected bandwitdth

View File

@ -16,18 +16,14 @@
*
******************************************************************************/
/**
* LC3 - Common constants and types
*/
#ifndef __LC3_COMMON_H
#define __LC3_COMMON_H
#include <lc3.h>
#include "fastmath.h"
#include <stdalign.h>
#include <limits.h>
#include <stdalign.h>
#include <string.h>
#ifdef __ARM_ARCH
@ -35,6 +31,31 @@
#endif
/**
* Acivation flags for LC3-Plus and LC3-Plus HR features
*/
#ifndef LC3_PLUS
#define LC3_PLUS 1
#endif
#ifndef LC3_PLUS_HR
#define LC3_PLUS_HR 1
#endif
#if LC3_PLUS
#define LC3_IF_PLUS(a, b) (a)
#else
#define LC3_IF_PLUS(a, b) (b)
#endif
#if LC3_PLUS_HR
#define LC3_IF_PLUS_HR(a, b) (a)
#else
#define LC3_IF_PLUS_HR(a, b) (b)
#endif
/**
* Hot Function attribute
* Selectively disable sanitizer
@ -83,41 +104,11 @@
/**
* Convert `dt` in us and `sr` in KHz
* Return `true` when high-resolution mode
*/
#define LC3_DT_US(dt) \
( (3 + (dt)) * 2500 )
#define LC3_SRATE_KHZ(sr) \
( (1 + (sr) + ((sr) == LC3_SRATE_48K)) * 8 )
/**
* Return number of samples, delayed samples and
* encoded spectrum coefficients within a frame
* - For encoding, keep 1.25 ms for temporal window
* - For decoding, keep 18 ms of history, aligned on frames, and a frame
*/
#define LC3_NS(dt, sr) \
( 20 * (3 + (dt)) * (1 + (sr) + ((sr) == LC3_SRATE_48K)) )
#define LC3_ND(dt, sr) \
( (dt) == LC3_DT_7M5 ? 23 * LC3_NS(dt, sr) / 30 \
: 5 * LC3_NS(dt, sr) / 8 )
#define LC3_NE(dt, sr) \
( 20 * (3 + (dt)) * (1 + (sr)) )
#define LC3_MAX_NE \
LC3_NE(LC3_DT_10M, LC3_SRATE_48K)
#define LC3_NT(sr_hz) \
( (5 * LC3_SRATE_KHZ(sr)) / 4 )
#define LC3_NH(dt, sr) \
( ((3 - dt) + 1) * LC3_NS(dt, sr) )
static inline bool lc3_hr(enum lc3_srate sr) {
return LC3_PLUS_HR && (sr >= LC3_SRATE_48K_HR);
}
/**
@ -131,6 +122,9 @@ enum lc3_bandwidth {
LC3_BANDWIDTH_SWB = LC3_SRATE_32K,
LC3_BANDWIDTH_FB = LC3_SRATE_48K,
LC3_BANDWIDTH_FB_HR = LC3_SRATE_48K_HR,
LC3_BANDWIDTH_UB_HR = LC3_SRATE_96K_HR,
LC3_NUM_BANDWIDTH,
};

View File

@ -26,30 +26,17 @@
bool lc3_energy_compute(
enum lc3_dt dt, enum lc3_srate sr, const float *x, float *e)
{
static const int n1_table[LC3_NUM_DT][LC3_NUM_SRATE] = {
[LC3_DT_7M5] = { 56, 34, 27, 24, 22 },
[LC3_DT_10M] = { 49, 28, 23, 20, 18 },
};
/* First bands are 1 coefficient width */
int n1 = n1_table[dt][sr];
float e_sum[2] = { 0, 0 };
int iband;
for (iband = 0; iband < n1; iband++) {
*e = x[iband] * x[iband];
e_sum[0] += *(e++);
}
/* Mean the square of coefficients within each band,
* note that 7.5ms 8KHz frame has more bands than samples */
int nb = LC3_MIN(LC3_NUM_BANDS, LC3_NS(dt, sr));
int iband_h = nb - 2*(2 - dt);
int nb = lc3_num_bands[dt][sr];
const int *lim = lc3_band_lim[dt][sr];
for (int i = lim[iband]; iband < nb; iband++) {
/* Mean the square of coefficients within each band */
float e_sum[2] = { 0, 0 };
int iband_h = nb - (const int []){
[LC3_DT_2M5] = 2, [LC3_DT_5M ] = 3,
[LC3_DT_7M5] = 4, [LC3_DT_10M] = 2 }[dt];
for (int iband = 0, i = lim[iband]; iband < nb; iband++) {
int ie = lim[iband+1];
int n = ie - i;
@ -61,9 +48,6 @@ bool lc3_energy_compute(
e_sum[iband >= iband_h] += *(e++);
}
for (; iband < LC3_NUM_BANDS; iband++)
*(e++) = 0;
/* Return the near nyquist flag */
return e_sum[1] > 30 * e_sum[0];

View File

@ -16,13 +16,6 @@
*
******************************************************************************/
/**
* LC3 - Energy estimation per band
*
* Reference : Low Complexity Communication Codec (LC3)
* Bluetooth Specification v1.0
*/
#ifndef __LC3_ENERGY_H
#define __LC3_ENERGY_H

View File

@ -16,46 +16,107 @@
*
******************************************************************************/
/**
* LC3 - Mathematics function approximation
*/
#ifndef __LC3_FASTMATH_H
#define __LC3_FASTMATH_H
#include <stdint.h>
#include <float.h>
#include <math.h>
/**
* Fast 2^n approximation
* x Operand, range -8 to 8
* return 2^x approximation (max relative error ~ 7e-6)
* IEEE 754 Floating point representation
*/
static inline float fast_exp2f(float x)
#define LC3_IEEE754_SIGN_SHL (31)
#define LC3_IEEE754_SIGN_MASK (1 << LC3_IEEE754_SIGN_SHL)
#define LC3_IEEE754_EXP_SHL (23)
#define LC3_IEEE754_EXP_MASK (0xff << LC3_IEEE754_EXP_SHL)
#define LC3_IEEE754_EXP_BIAS (127)
/**
* Fast multiply floating-point number by integral power of 2
* x Operand, finite number
* exp Exponent such that 2^x is finite
* return 2^exp
*/
static inline float lc3_ldexpf(float _x, int exp) {
union { float f; int32_t s; } x = { .f = _x };
if (x.s & LC3_IEEE754_EXP_MASK)
x.s += exp << LC3_IEEE754_EXP_SHL;
return x.f;
}
/**
* Fast convert floating-point number to fractional and integral components
* x Operand, finite number
* exp Return the exponent part
* return The normalized fraction in [0.5:1[
*/
static inline float lc3_frexpf(float _x, int *exp) {
union { float f; uint32_t u; } x = { .f = _x };
int e = (x.u & LC3_IEEE754_EXP_MASK) >> LC3_IEEE754_EXP_SHL;
*exp = e - (LC3_IEEE754_EXP_BIAS - 1);
x.u = (x.u & ~LC3_IEEE754_EXP_MASK) |
((LC3_IEEE754_EXP_BIAS - 1) << LC3_IEEE754_EXP_SHL);
return x.f;
}
/**
* Fast 2^n approximation
* x Operand, range -100 to 100
* return 2^x approximation (max relative error ~ 4e-7)
*/
static inline float lc3_exp2f(float x)
{
float y;
/* --- 2^(i/8) for i from 0 to 7 --- */
/* --- Polynomial approx in range -0.5 to 0.5 --- */
static const float e[] = {
1.00000000e+00, 1.09050773e+00, 1.18920712e+00, 1.29683955e+00,
1.41421356e+00, 1.54221083e+00, 1.68179283e+00, 1.83400809e+00 };
static const float c[] = { 1.27191277e-09, 1.47415221e-07,
1.35510312e-05, 9.38375815e-04, 4.33216946e-02 };
/* --- Polynomial approx in range 0 to 1/8 --- */
y = ( c[0]) * x;
y = (y + c[1]) * x;
y = (y + c[2]) * x;
y = (y + c[3]) * x;
y = (y + c[4]) * x;
y = (y + 1.f);
static const float p[] = {
1.00448128e-02, 5.54563260e-02, 2.40228756e-01, 6.93147140e-01 };
/* --- Raise to the power of 16 --- */
/* --- Split the operand ---
*
* Such as x = k/8 + y, with k an integer, and |y| < 0.5/8
*
* Note that `fast-math` compiler option leads to rounding error,
* disable optimisation with `volatile`. */
y = y*y;
y = y*y;
y = y*y;
y = y*y;
volatile union { float f; int32_t s; } v;
return y;
v.f = x + 0x1.8p20f;
int k = v.s;
x -= v.f - 0x1.8p20f;
/* --- Compute 2^x, with |x| < 1 ---
* Perform polynomial approximation in range -0.5/8 to 0.5/8,
* and muplity by precomputed value of 2^(i/8), i in [0:7] */
union { float f; int32_t s; } y;
y.f = ( p[0]) * x;
y.f = (y.f + p[1]) * x;
y.f = (y.f + p[2]) * x;
y.f = (y.f + p[3]) * x;
y.f = (y.f + 1.f) * e[k & 7];
/* --- Add the exponent --- */
y.s += (k >> 3) << LC3_IEEE754_EXP_SHL;
return y.f;
}
/**
@ -63,7 +124,7 @@ static inline float fast_exp2f(float x)
* x Operand, greater than 0
* return log2(x) approximation (max absolute error ~ 1e-4)
*/
static inline float fast_log2f(float x)
static inline float lc3_log2f(float x)
{
float y;
int e;
@ -73,7 +134,7 @@ static inline float fast_log2f(float x)
static const float c[] = {
-1.29479677, 5.11769018, -8.42295281, 8.10557963, -3.50567360 };
x = frexpf(x, &e);
x = lc3_frexpf(x, &e);
y = ( c[0]) * x;
y = (y + c[1]) * x;
@ -91,9 +152,9 @@ static inline float fast_log2f(float x)
* x Operand, greater than 0
* return log10(x) approximation (max absolute error ~ 1e-4)
*/
static inline float fast_log10f(float x)
static inline float lc3_log10f(float x)
{
return log10f(2) * fast_log2f(x);
return log10f(2) * lc3_log2f(x);
}
/**
@ -104,7 +165,7 @@ static inline float fast_log10f(float x)
* - The 0 value is accepted and return the minimum value ~ -191dB
* - This function assumed that float 32 bits is coded IEEE 754
*/
static inline int32_t fast_db_q16(float x)
static inline int32_t lc3_db_q16(float x)
{
/* --- Table in Q15 --- */

View File

@ -53,90 +53,128 @@ struct side_data {
/**
* Resolve frame duration in us
* us Frame duration in us
* hrmode High-resolution mode indication
* return Frame duration identifier, or LC3_NUM_DT
*/
static enum lc3_dt resolve_dt(int us)
static enum lc3_dt resolve_dt(int us, bool hrmode)
{
return us == 7500 ? LC3_DT_7M5 :
us == 10000 ? LC3_DT_10M : LC3_NUM_DT;
return LC3_PLUS && us == 2500 ? LC3_DT_2M5 :
LC3_PLUS && us == 5000 ? LC3_DT_5M :
!hrmode && us == 7500 ? LC3_DT_7M5 :
us == 10000 ? LC3_DT_10M : LC3_NUM_DT;
}
/**
* Resolve samplerate in Hz
* hz Samplerate in Hz
* hrmode High-resolution mode indication
* return Sample rate identifier, or LC3_NUM_SRATE
*/
static enum lc3_srate resolve_sr(int hz)
static enum lc3_srate resolve_srate(int hz, bool hrmode)
{
return hz == 8000 ? LC3_SRATE_8K : hz == 16000 ? LC3_SRATE_16K :
hz == 24000 ? LC3_SRATE_24K : hz == 32000 ? LC3_SRATE_32K :
hz == 48000 ? LC3_SRATE_48K : LC3_NUM_SRATE;
hrmode = LC3_PLUS_HR && hrmode;
return !hrmode && hz == 8000 ? LC3_SRATE_8K :
!hrmode && hz == 16000 ? LC3_SRATE_16K :
!hrmode && hz == 24000 ? LC3_SRATE_24K :
!hrmode && hz == 32000 ? LC3_SRATE_32K :
!hrmode && hz == 48000 ? LC3_SRATE_48K :
hrmode && hz == 48000 ? LC3_SRATE_48K_HR :
hrmode && hz == 96000 ? LC3_SRATE_96K_HR : LC3_NUM_SRATE;
}
/**
* Return the number of PCM samples in a frame
*/
int lc3_frame_samples(int dt_us, int sr_hz)
LC3_EXPORT int lc3_hr_frame_samples(bool hrmode, int dt_us, int sr_hz)
{
enum lc3_dt dt = resolve_dt(dt_us);
enum lc3_srate sr = resolve_sr(sr_hz);
enum lc3_dt dt = resolve_dt(dt_us, hrmode);
enum lc3_srate sr = resolve_srate(sr_hz, hrmode);
if (dt >= LC3_NUM_DT || sr >= LC3_NUM_SRATE)
return -1;
return LC3_NS(dt, sr);
return lc3_ns(dt, sr);
}
LC3_EXPORT int lc3_frame_samples(int dt_us, int sr_hz)
{
return lc3_hr_frame_samples(false, dt_us, sr_hz);
}
/**
* Return the size of frames, from bitrate
* Return the size of frames or frame blocks, from bitrate
*/
int lc3_frame_bytes(int dt_us, int bitrate)
LC3_EXPORT int lc3_hr_frame_block_bytes(
bool hrmode, int dt_us, int sr_hz, int nchannels, int bitrate)
{
if (resolve_dt(dt_us) >= LC3_NUM_DT)
enum lc3_dt dt = resolve_dt(dt_us, hrmode);
enum lc3_srate sr = resolve_srate(sr_hz, hrmode);
if (dt >= LC3_NUM_DT || sr >= LC3_NUM_SRATE
|| nchannels < 1 || nchannels > 8 || bitrate < 0)
return -1;
if (bitrate < LC3_MIN_BITRATE)
return LC3_MIN_FRAME_BYTES;
bitrate = LC3_CLIP(bitrate, 0, 8*LC3_HR_MAX_BITRATE);
if (bitrate > LC3_MAX_BITRATE)
return LC3_MAX_FRAME_BYTES;
return LC3_CLIP((bitrate * (int)(1 + dt)) / 3200,
nchannels * lc3_min_frame_bytes(dt, sr),
nchannels * lc3_max_frame_bytes(dt, sr) );
}
int nbytes = ((unsigned)bitrate * dt_us) / (1000*1000*8);
LC3_EXPORT int lc3_frame_bock_bytes(int dt_us, int nchannels, int bitrate)
{
return lc3_hr_frame_block_bytes(false, dt_us, 8000, nchannels, bitrate);
}
return LC3_CLIP(nbytes, LC3_MIN_FRAME_BYTES, LC3_MAX_FRAME_BYTES);
LC3_EXPORT int lc3_hr_frame_bytes(
bool hrmode, int dt_us, int sr_hz, int bitrate)
{
return lc3_hr_frame_block_bytes(hrmode, dt_us, sr_hz, 1, bitrate);
}
LC3_EXPORT int lc3_frame_bytes(int dt_us, int bitrate)
{
return lc3_hr_frame_bytes(false, dt_us, 8000, bitrate);
}
/**
* Resolve the bitrate, from the size of frames
* Resolve the bitrate, from the size of frames or frame blocks
*/
int lc3_resolve_bitrate(int dt_us, int nbytes)
LC3_EXPORT int lc3_hr_resolve_bitrate(
bool hrmode, int dt_us, int sr_hz, int nbytes)
{
if (resolve_dt(dt_us) >= LC3_NUM_DT)
enum lc3_dt dt = resolve_dt(dt_us, hrmode);
enum lc3_srate sr = resolve_srate(sr_hz, hrmode);
if (dt >= LC3_NUM_DT || sr >= LC3_NUM_SRATE || nbytes < 0)
return -1;
if (nbytes < LC3_MIN_FRAME_BYTES)
return LC3_MIN_BITRATE;
return LC3_MIN(((int64_t)nbytes * 3200 + dt) / (1 + dt), INT_MAX);
}
if (nbytes > LC3_MAX_FRAME_BYTES)
return LC3_MAX_BITRATE;
int bitrate = ((unsigned)nbytes * (1000*1000*8) + dt_us/2) / dt_us;
return LC3_CLIP(bitrate, LC3_MIN_BITRATE, LC3_MAX_BITRATE);
LC3_EXPORT int lc3_resolve_bitrate(int dt_us, int nbytes)
{
return lc3_hr_resolve_bitrate(false, dt_us, 8000, nbytes);
}
/**
* Return algorithmic delay, as a number of samples
*/
int lc3_delay_samples(int dt_us, int sr_hz)
LC3_EXPORT int lc3_hr_delay_samples(bool hrmode, int dt_us, int sr_hz)
{
enum lc3_dt dt = resolve_dt(dt_us);
enum lc3_srate sr = resolve_sr(sr_hz);
enum lc3_dt dt = resolve_dt(dt_us, hrmode);
enum lc3_srate sr = resolve_srate(sr_hz, hrmode);
if (dt >= LC3_NUM_DT || sr >= LC3_NUM_SRATE)
return -1;
return (dt == LC3_DT_7M5 ? 8 : 5) * (LC3_SRATE_KHZ(sr) / 2);
return 2 * lc3_nd(dt, sr) - lc3_ns(dt, sr);
}
LC3_EXPORT int lc3_delay_samples(int dt_us, int sr_hz)
{
return lc3_hr_delay_samples(false, dt_us, sr_hz);
}
@ -157,9 +195,9 @@ static void load_s16(
enum lc3_dt dt = encoder->dt;
enum lc3_srate sr = encoder->sr_pcm;
int16_t *xt = encoder->xt;
float *xs = encoder->xs;
int ns = LC3_NS(dt, sr);
int16_t *xt = (int16_t *)encoder->x + encoder->xt_off;
float *xs = encoder->x + encoder->xs_off;
int ns = lc3_ns(dt, sr);
for (int i = 0; i < ns; i++, pcm += stride)
xt[i] = *pcm, xs[i] = *pcm;
@ -178,13 +216,13 @@ static void load_s24(
enum lc3_dt dt = encoder->dt;
enum lc3_srate sr = encoder->sr_pcm;
int16_t *xt = encoder->xt;
float *xs = encoder->xs;
int ns = LC3_NS(dt, sr);
int16_t *xt = (int16_t *)encoder->x + encoder->xt_off;
float *xs = encoder->x + encoder->xs_off;
int ns = lc3_ns(dt, sr);
for (int i = 0; i < ns; i++, pcm += stride) {
xt[i] = *pcm >> 8;
xs[i] = ldexpf(*pcm, -8);
xs[i] = lc3_ldexpf(*pcm, -8);
}
}
@ -201,9 +239,9 @@ static void load_s24_3le(
enum lc3_dt dt = encoder->dt;
enum lc3_srate sr = encoder->sr_pcm;
int16_t *xt = encoder->xt;
float *xs = encoder->xs;
int ns = LC3_NS(dt, sr);
int16_t *xt = (int16_t *)encoder->x + encoder->xt_off;
float *xs = encoder->x + encoder->xs_off;
int ns = lc3_ns(dt, sr);
for (int i = 0; i < ns; i++, pcm += 3*stride) {
int32_t in = ((uint32_t)pcm[0] << 8) |
@ -211,7 +249,7 @@ static void load_s24_3le(
((uint32_t)pcm[2] << 24) ;
xt[i] = in >> 16;
xs[i] = ldexpf(in, -16);
xs[i] = lc3_ldexpf(in, -16);
}
}
@ -228,12 +266,12 @@ static void load_float(
enum lc3_dt dt = encoder->dt;
enum lc3_srate sr = encoder->sr_pcm;
int16_t *xt = encoder->xt;
float *xs = encoder->xs;
int ns = LC3_NS(dt, sr);
int16_t *xt = (int16_t *)encoder->x + encoder->xt_off;
float *xs = encoder->x + encoder->xs_off;
int ns = lc3_ns(dt, sr);
for (int i = 0; i < ns; i++, pcm += stride) {
xs[i] = ldexpf(*pcm, 15);
xs[i] = lc3_ldexpf(*pcm, 15);
xt[i] = LC3_SAT16((int32_t)xs[i]);
}
}
@ -242,20 +280,21 @@ static void load_float(
* Frame Analysis
* encoder Encoder state
* nbytes Size in bytes of the frame
* side, xq Return frame data
* side Return frame data
*/
static void analyze(struct lc3_encoder *encoder,
int nbytes, struct side_data *side, uint16_t *xq)
int nbytes, struct side_data *side)
{
enum lc3_dt dt = encoder->dt;
enum lc3_srate sr = encoder->sr;
enum lc3_srate sr_pcm = encoder->sr_pcm;
int ns = LC3_NS(dt, sr_pcm);
int nt = LC3_NT(sr_pcm);
int16_t *xt = encoder->xt;
float *xs = encoder->xs;
float *xd = encoder->xd;
int16_t *xt = (int16_t *)encoder->x + encoder->xt_off;
float *xs = encoder->x + encoder->xs_off;
int ns = lc3_ns(dt, sr_pcm);
int nt = lc3_nt(sr_pcm);
float *xd = encoder->x + encoder->xd_off;
float *xf = xs;
/* --- Temporal --- */
@ -269,7 +308,7 @@ static void analyze(struct lc3_encoder *encoder,
/* --- Spectral --- */
float e[LC3_NUM_BANDS];
float e[LC3_MAX_BANDS];
lc3_mdct_forward(dt, sr_pcm, sr, xs, xd, xf);
@ -279,29 +318,30 @@ static void analyze(struct lc3_encoder *encoder,
side->bw = lc3_bwdet_run(dt, sr, e);
lc3_sns_analyze(dt, sr, e, att, &side->sns, xf, xf);
lc3_sns_analyze(dt, sr, nbytes, e, att, &side->sns, xf, xf);
lc3_tns_analyze(dt, side->bw, nn_flag, nbytes, &side->tns, xf);
lc3_spec_analyze(dt, sr,
nbytes, side->pitch_present, &side->tns,
&encoder->spec, xf, xq, &side->spec);
&encoder->spec, xf, &side->spec);
}
/**
* Encode bitstream
* encoder Encoder state
* side, xq The frame data
* side The frame data
* nbytes Target size of the frame (20 to 400)
* buffer Output bitstream buffer of `nbytes` size
*/
static void encode(struct lc3_encoder *encoder,
const struct side_data *side, uint16_t *xq, int nbytes, void *buffer)
const struct side_data *side, int nbytes, void *buffer)
{
enum lc3_dt dt = encoder->dt;
enum lc3_srate sr = encoder->sr;
float *xf = encoder->x + encoder->xs_off;
enum lc3_bandwidth bw = side->bw;
float *xf = encoder->xs;
lc3_bits_t bits;
@ -320,8 +360,7 @@ static void encode(struct lc3_encoder *encoder,
if (side->pitch_present)
lc3_ltpf_put_data(&bits, &side->ltpf);
lc3_spec_encode(&bits,
dt, sr, bw, nbytes, xq, &side->spec, xf);
lc3_spec_encode(&bits, dt, sr, bw, nbytes, &side->spec, xf);
lc3_flush_bits(&bits);
}
@ -329,56 +368,67 @@ static void encode(struct lc3_encoder *encoder,
/**
* Return size needed for an encoder
*/
unsigned lc3_encoder_size(int dt_us, int sr_hz)
LC3_EXPORT unsigned lc3_hr_encoder_size(bool hrmode, int dt_us, int sr_hz)
{
if (resolve_dt(dt_us) >= LC3_NUM_DT ||
resolve_sr(sr_hz) >= LC3_NUM_SRATE)
if (resolve_dt(dt_us, hrmode) >= LC3_NUM_DT ||
resolve_srate(sr_hz, hrmode) >= LC3_NUM_SRATE)
return 0;
return sizeof(struct lc3_encoder) +
(LC3_ENCODER_BUFFER_COUNT(dt_us, sr_hz)-1) * sizeof(float);
}
LC3_EXPORT unsigned lc3_encoder_size(int dt_us, int sr_hz)
{
return lc3_hr_encoder_size(false, dt_us, sr_hz);
}
/**
* Setup encoder
*/
struct lc3_encoder *lc3_setup_encoder(
int dt_us, int sr_hz, int sr_pcm_hz, void *mem)
LC3_EXPORT struct lc3_encoder *lc3_hr_setup_encoder(
bool hrmode, int dt_us, int sr_hz, int sr_pcm_hz, void *mem)
{
if (sr_pcm_hz <= 0)
sr_pcm_hz = sr_hz;
enum lc3_dt dt = resolve_dt(dt_us);
enum lc3_srate sr = resolve_sr(sr_hz);
enum lc3_srate sr_pcm = resolve_sr(sr_pcm_hz);
enum lc3_dt dt = resolve_dt(dt_us, hrmode);
enum lc3_srate sr = resolve_srate(sr_hz, hrmode);
enum lc3_srate sr_pcm = resolve_srate(sr_pcm_hz, hrmode);
if (dt >= LC3_NUM_DT || sr_pcm >= LC3_NUM_SRATE || sr > sr_pcm || !mem)
return NULL;
struct lc3_encoder *encoder = mem;
int ns = LC3_NS(dt, sr_pcm);
int nt = LC3_NT(sr_pcm);
int ns = lc3_ns(dt, sr_pcm);
int nt = lc3_nt(sr_pcm);
*encoder = (struct lc3_encoder){
.dt = dt, .sr = sr,
.sr_pcm = sr_pcm,
.xt = (int16_t *)encoder->s + nt,
.xs = encoder->s + (nt+ns)/2,
.xd = encoder->s + (nt+ns)/2 + ns,
.xt_off = nt,
.xs_off = (nt + ns) / 2,
.xd_off = (nt + ns) / 2 + ns,
};
memset(encoder->s, 0,
memset(encoder->x, 0,
LC3_ENCODER_BUFFER_COUNT(dt_us, sr_pcm_hz) * sizeof(float));
return encoder;
}
LC3_EXPORT struct lc3_encoder *lc3_setup_encoder(
int dt_us, int sr_hz, int sr_pcm_hz, void *mem)
{
return lc3_hr_setup_encoder(false, dt_us, sr_hz, sr_pcm_hz, mem);
}
/**
* Encode a frame
*/
int lc3_encode(struct lc3_encoder *encoder, enum lc3_pcm_format fmt,
const void *pcm, int stride, int nbytes, void *out)
LC3_EXPORT int lc3_encode(struct lc3_encoder *encoder,
enum lc3_pcm_format fmt, const void *pcm, int stride, int nbytes, void *out)
{
static void (* const load[])(struct lc3_encoder *, const void *, int) = {
[LC3_PCM_FORMAT_S16 ] = load_s16,
@ -389,20 +439,19 @@ int lc3_encode(struct lc3_encoder *encoder, enum lc3_pcm_format fmt,
/* --- Check parameters --- */
if (!encoder || nbytes < LC3_MIN_FRAME_BYTES
|| nbytes > LC3_MAX_FRAME_BYTES)
if (!encoder || nbytes < lc3_min_frame_bytes(encoder->dt, encoder->sr)
|| nbytes > lc3_max_frame_bytes(encoder->dt, encoder->sr))
return -1;
/* --- Processing --- */
struct side_data side;
uint16_t xq[LC3_NE(encoder->dt, encoder->sr)];
load[fmt](encoder, pcm, stride);
analyze(encoder, nbytes, &side, xq);
analyze(encoder, nbytes, &side);
encode(encoder, &side, xq, nbytes, out);
encode(encoder, &side, nbytes, out);
return 0;
}
@ -425,8 +474,8 @@ static void store_s16(
enum lc3_dt dt = decoder->dt;
enum lc3_srate sr = decoder->sr_pcm;
float *xs = decoder->xs;
int ns = LC3_NS(dt, sr);
float *xs = decoder->x + decoder->xs_off;
int ns = lc3_ns(dt, sr);
for ( ; ns > 0; ns--, xs++, pcm += stride) {
int32_t s = *xs >= 0 ? (int)(*xs + 0.5f) : (int)(*xs - 0.5f);
@ -447,12 +496,12 @@ static void store_s24(
enum lc3_dt dt = decoder->dt;
enum lc3_srate sr = decoder->sr_pcm;
float *xs = decoder->xs;
int ns = LC3_NS(dt, sr);
float *xs = decoder->x + decoder->xs_off;
int ns = lc3_ns(dt, sr);
for ( ; ns > 0; ns--, xs++, pcm += stride) {
int32_t s = *xs >= 0 ? (int32_t)(ldexpf(*xs, 8) + 0.5f)
: (int32_t)(ldexpf(*xs, 8) - 0.5f);
int32_t s = *xs >= 0 ? (int32_t)(lc3_ldexpf(*xs, 8) + 0.5f)
: (int32_t)(lc3_ldexpf(*xs, 8) - 0.5f);
*pcm = LC3_SAT24(s);
}
}
@ -470,12 +519,12 @@ static void store_s24_3le(
enum lc3_dt dt = decoder->dt;
enum lc3_srate sr = decoder->sr_pcm;
float *xs = decoder->xs;
int ns = LC3_NS(dt, sr);
float *xs = decoder->x + decoder->xs_off;
int ns = lc3_ns(dt, sr);
for ( ; ns > 0; ns--, xs++, pcm += 3*stride) {
int32_t s = *xs >= 0 ? (int32_t)(ldexpf(*xs, 8) + 0.5f)
: (int32_t)(ldexpf(*xs, 8) - 0.5f);
int32_t s = *xs >= 0 ? (int32_t)(lc3_ldexpf(*xs, 8) + 0.5f)
: (int32_t)(lc3_ldexpf(*xs, 8) - 0.5f);
s = LC3_SAT24(s);
pcm[0] = (s >> 0) & 0xff;
@ -497,11 +546,11 @@ static void store_float(
enum lc3_dt dt = decoder->dt;
enum lc3_srate sr = decoder->sr_pcm;
float *xs = decoder->xs;
int ns = LC3_NS(dt, sr);
float *xs = decoder->x + decoder->xs_off;
int ns = lc3_ns(dt, sr);
for ( ; ns > 0; ns--, xs++, pcm += stride) {
float s = ldexpf(*xs, -15);
float s = lc3_ldexpf(*xs, -15);
*pcm = fminf(fmaxf(s, -1.f), 1.f);
}
}
@ -519,9 +568,9 @@ static int decode(struct lc3_decoder *decoder,
enum lc3_dt dt = decoder->dt;
enum lc3_srate sr = decoder->sr;
float *xf = decoder->xs;
int ns = LC3_NS(dt, sr);
int ne = LC3_NE(dt, sr);
float *xf = decoder->x + decoder->xs_off;
int ns = lc3_ns(dt, sr);
int ne = lc3_ne(dt, sr);
lc3_bits_t bits;
int ret = 0;
@ -534,7 +583,8 @@ static int decode(struct lc3_decoder *decoder,
if ((ret = lc3_spec_get_side(&bits, dt, sr, &side->spec)) < 0)
return ret;
lc3_tns_get_data(&bits, dt, side->bw, nbytes, &side->tns);
if ((ret = lc3_tns_get_data(&bits, dt, side->bw, nbytes, &side->tns)) < 0)
return ret;
side->pitch_present = lc3_get_bit(&bits);
@ -542,7 +592,7 @@ static int decode(struct lc3_decoder *decoder,
return ret;
if (side->pitch_present)
lc3_ltpf_get_data(&bits, &side->ltpf);
lc3_ltpf_get_data(&bits, &side->ltpf);
if ((ret = lc3_spec_decode(&bits, dt, sr,
side->bw, nbytes, &side->spec, xf)) < 0)
@ -566,14 +616,16 @@ static void synthesize(struct lc3_decoder *decoder,
enum lc3_srate sr = decoder->sr;
enum lc3_srate sr_pcm = decoder->sr_pcm;
float *xf = decoder->xs;
int ns = LC3_NS(dt, sr_pcm);
int ne = LC3_NE(dt, sr);
float *xf = decoder->x + decoder->xs_off;
int ns = lc3_ns(dt, sr_pcm);
int ne = lc3_ne(dt, sr);
float *xg = decoder->xg;
float *xd = decoder->xd;
float *xg = decoder->x + decoder->xg_off;
float *xs = xf;
float *xd = decoder->x + decoder->xd_off;
float *xh = decoder->x + decoder->xh_off;
if (side) {
enum lc3_bandwidth bw = side->bw;
@ -593,8 +645,9 @@ static void synthesize(struct lc3_decoder *decoder,
lc3_mdct_inverse(dt, sr_pcm, sr, xf, xd, xs);
}
lc3_ltpf_synthesize(dt, sr_pcm, nbytes, &decoder->ltpf,
side && side->pitch_present ? &side->ltpf : NULL, decoder->xh, xs);
if (!lc3_hr(sr))
lc3_ltpf_synthesize(dt, sr_pcm, nbytes, &decoder->ltpf,
side && side->pitch_present ? &side->ltpf : NULL, xh, xs);
}
/**
@ -605,70 +658,81 @@ static void complete(struct lc3_decoder *decoder)
{
enum lc3_dt dt = decoder->dt;
enum lc3_srate sr_pcm = decoder->sr_pcm;
int nh = LC3_NH(dt, sr_pcm);
int ns = LC3_NS(dt, sr_pcm);
int nh = lc3_nh(dt, sr_pcm);
int ns = lc3_ns(dt, sr_pcm);
decoder->xs = decoder->xs - decoder->xh < nh - ns ?
decoder->xs + ns : decoder->xh;
decoder->xs_off = decoder->xs_off - decoder->xh_off < nh ?
decoder->xs_off + ns : decoder->xh_off;
}
/**
* Return size needed for a decoder
*/
unsigned lc3_decoder_size(int dt_us, int sr_hz)
LC3_EXPORT unsigned lc3_hr_decoder_size(bool hrmode, int dt_us, int sr_hz)
{
if (resolve_dt(dt_us) >= LC3_NUM_DT ||
resolve_sr(sr_hz) >= LC3_NUM_SRATE)
if (resolve_dt(dt_us, hrmode) >= LC3_NUM_DT ||
resolve_srate(sr_hz, hrmode) >= LC3_NUM_SRATE)
return 0;
return sizeof(struct lc3_decoder) +
(LC3_DECODER_BUFFER_COUNT(dt_us, sr_hz)-1) * sizeof(float);
}
LC3_EXPORT unsigned lc3_decoder_size(int dt_us, int sr_hz)
{
return lc3_hr_decoder_size(false, dt_us, sr_hz);
}
/**
* Setup decoder
*/
struct lc3_decoder *lc3_setup_decoder(
int dt_us, int sr_hz, int sr_pcm_hz, void *mem)
LC3_EXPORT struct lc3_decoder *lc3_hr_setup_decoder(
bool hrmode, int dt_us, int sr_hz, int sr_pcm_hz, void *mem)
{
if (sr_pcm_hz <= 0)
sr_pcm_hz = sr_hz;
enum lc3_dt dt = resolve_dt(dt_us);
enum lc3_srate sr = resolve_sr(sr_hz);
enum lc3_srate sr_pcm = resolve_sr(sr_pcm_hz);
enum lc3_dt dt = resolve_dt(dt_us, hrmode);
enum lc3_srate sr = resolve_srate(sr_hz, hrmode);
enum lc3_srate sr_pcm = resolve_srate(sr_pcm_hz, hrmode);
if (dt >= LC3_NUM_DT || sr_pcm >= LC3_NUM_SRATE || sr > sr_pcm || !mem)
return NULL;
struct lc3_decoder *decoder = mem;
int nh = LC3_NH(dt, sr_pcm);
int ns = LC3_NS(dt, sr_pcm);
int nd = LC3_ND(dt, sr_pcm);
int nh = lc3_nh(dt, sr_pcm);
int ns = lc3_ns(dt, sr_pcm);
int nd = lc3_nd(dt, sr_pcm);
*decoder = (struct lc3_decoder){
.dt = dt, .sr = sr,
.sr_pcm = sr_pcm,
.xh = decoder->s,
.xs = decoder->s + nh-ns,
.xd = decoder->s + nh,
.xg = decoder->s + nh+nd,
.xh_off = 0,
.xs_off = nh,
.xd_off = nh + ns,
.xg_off = nh + ns + nd,
};
lc3_plc_reset(&decoder->plc);
memset(decoder->s, 0,
memset(decoder->x, 0,
LC3_DECODER_BUFFER_COUNT(dt_us, sr_pcm_hz) * sizeof(float));
return decoder;
}
LC3_EXPORT struct lc3_decoder *lc3_setup_decoder(
int dt_us, int sr_hz, int sr_pcm_hz, void *mem)
{
return lc3_hr_setup_decoder(false, dt_us, sr_hz, sr_pcm_hz, mem);
}
/**
* Decode a frame
*/
int lc3_decode(struct lc3_decoder *decoder, const void *in, int nbytes,
enum lc3_pcm_format fmt, void *pcm, int stride)
LC3_EXPORT int lc3_decode(struct lc3_decoder *decoder,
const void *in, int nbytes, enum lc3_pcm_format fmt, void *pcm, int stride)
{
static void (* const store[])(struct lc3_decoder *, void *, int) = {
[LC3_PCM_FORMAT_S16 ] = store_s16,
@ -683,7 +747,7 @@ int lc3_decode(struct lc3_decoder *decoder, const void *in, int nbytes,
return -1;
if (in && (nbytes < LC3_MIN_FRAME_BYTES ||
nbytes > LC3_MAX_FRAME_BYTES ))
nbytes > lc3_max_frame_bytes(decoder->dt, decoder->sr) ))
return -1;
/* --- Processing --- */

View File

@ -144,6 +144,36 @@ static const int16_t h_48k_12k8_q15[4*60] = {
};
#endif /* resample_48k_12k8 */
#ifndef resample_96k_12k8
static const int16_t h_96k_12k8_q15[2*120] = {
-3, -7, -10, -13, -13, -10, -4, 5, 15, 26,
33, 36, 31, 19, 0, -23, -47, -66, -76, -73,
-54, -21, 23, 70, 111, 139, 143, 121, 72, 0,
-84, -165, -227, -256, -240, -175, -67, 72, 219, 349,
433, 448, 379, 225, 0, -268, -536, -755, -874, -848,
-648, -260, 301, 1000, 1780, 2569, 3290, 3869, 4243, 4372,
4243, 3869, 3290, 2569, 1780, 1000, 301, -260, -648, -848,
-874, -755, -536, -268, 0, 225, 379, 448, 433, 349,
219, 72, -67, -175, -240, -256, -227, -165, -84, 0,
72, 121, 143, 139, 111, 70, 23, -21, -54, -73,
-76, -66, -47, -23, 0, 19, 31, 36, 33, 26,
15, 5, -4, -10, -13, -13, -10, -7, -3, 0,
-1, -5, -8, -12, -13, -12, -8, 0, 10, 21,
30, 35, 34, 26, 10, -11, -35, -58, -73, -76,
-65, -39, 0, 46, 92, 127, 144, 136, 100, 38,
-41, -125, -199, -246, -254, -214, -126, 0, 146, 288,
398, 450, 424, 312, 120, -131, -405, -655, -830, -881,
-771, -477, 0, 636, 1384, 2178, 2943, 3601, 4084, 4340,
4340, 4084, 3601, 2943, 2178, 1384, 636, 0, -477, -771,
-881, -830, -655, -405, -131, 120, 312, 424, 450, 398,
288, 146, 0, -126, -214, -254, -246, -199, -125, -41,
38, 100, 136, 144, 127, 92, 46, 0, -39, -65,
-76, -73, -58, -35, -11, 10, 26, 34, 35, 30,
21, 10, 0, -8, -12, -13, -12, -8, -5, -1,
};
#endif /* resample_96k_12k8 */
/**
* High-pass 50Hz filtering, at 12.8 KHz samplerate
@ -223,7 +253,8 @@ LC3_HOT static inline void resample_x64k_12k8(const int p, const int16_t *h,
* The number of previous samples `d` accessed on `x` is :
* d: { 30, 60 } - 1 for resampling factors 8 and 4.
*/
#if !defined(resample_24k_12k8) || !defined(resample_48k_12k8)
#if !defined(resample_24k_12k8) || !defined(resample_48k_12k8) \
|| !defined(resample_96k_12k8)
LC3_HOT static inline void resample_x192k_12k8(const int p, const int16_t *h,
struct lc3_ltpf_hp50_state *hp50, const int16_t *x, int16_t *y, int n)
{
@ -340,6 +371,22 @@ LC3_HOT static void resample_48k_12k8(
}
#endif /* resample_48k_12k8 */
/**
* Resample from 96 Khz to 12.8 KHz
* hp50 High-Pass biquad filter state
* x [-120..-1] Previous, [0..ns-1] Current samples, in fixed Q15
* y, n [0..n-1] Output `n` processed samples, in fixed Q14
*
* The `x` vector is aligned on 32 bits
*/
#ifndef resample_96k_12k8
LC3_HOT static void resample_96k_12k8(
struct lc3_ltpf_hp50_state *hp50, const int16_t *x, int16_t *y, int n)
{
resample_x192k_12k8(2, h_96k_12k8_q15, hp50, x, y, n);
}
#endif /* resample_96k_12k8 */
/**
* Resample to 6.4 KHz
* x [-3..-1] Previous, [0..n-1] Current samples
@ -366,11 +413,13 @@ LC3_HOT static void resample_6k4(const int16_t *x, int16_t *y, int n)
static void (* const resample_12k8[])
(struct lc3_ltpf_hp50_state *, const int16_t *, int16_t *, int ) =
{
[LC3_SRATE_8K ] = resample_8k_12k8,
[LC3_SRATE_16K] = resample_16k_12k8,
[LC3_SRATE_24K] = resample_24k_12k8,
[LC3_SRATE_32K] = resample_32k_12k8,
[LC3_SRATE_48K] = resample_48k_12k8,
[LC3_SRATE_8K ] = resample_8k_12k8,
[LC3_SRATE_16K ] = resample_16k_12k8,
[LC3_SRATE_24K ] = resample_24k_12k8,
[LC3_SRATE_32K ] = resample_32k_12k8,
[LC3_SRATE_48K ] = resample_48k_12k8,
[LC3_SRATE_48K_HR] = resample_48k_12k8,
[LC3_SRATE_96K_HR] = resample_96k_12k8,
};
@ -457,7 +506,7 @@ LC3_HOT static int argmax_weighted(
}
/**
* Interpolate from pitch detected value (3.3.9.8)
* Interpolate from pitch detected value
* x, n [-2..-1] Previous, [0..n] Current input
* d The phase of interpolation (0 to 3)
* return The interpolated vector
@ -492,7 +541,7 @@ LC3_HOT static void interpolate(const int16_t *x, int n, int d, int16_t *y)
}
/**
* Interpolate autocorrelation (3.3.9.7)
* Interpolate autocorrelation
* x [-4..-1] Previous, [0..4] Current input
* d The phase of interpolation (-3 to 3)
* return The interpolated value
@ -522,7 +571,7 @@ LC3_HOT static float interpolate_corr(const float *x, int d)
}
/**
* Pitch detection algorithm (3.3.9.5-6)
* Pitch detection algorithm
* ltpf Context of analysis
* x, n [-114..-17] Previous, [0..n-1] Current 6.4KHz samples
* tc Return the pitch-lag estimation
@ -530,8 +579,8 @@ LC3_HOT static float interpolate_corr(const float *x, int d)
*
* The `x` vector is aligned on 32 bits
*/
static bool detect_pitch(
struct lc3_ltpf_analysis *ltpf, const int16_t *x, int n, int *tc)
static bool detect_pitch(struct lc3_ltpf_analysis *ltpf,
const int16_t *x, int n, int *tc)
{
float rm1, rm2;
float r[98];
@ -562,7 +611,7 @@ static bool detect_pitch(
}
/**
* Pitch-lag parameter (3.3.9.7)
* Pitch-lag parameter
* x, n [-232..-28] Previous, [0..n-1] Current 12.8KHz samples, Q14
* tc Pitch-lag estimation
* pitch The pitch value, in fixed .4
@ -615,7 +664,7 @@ bool lc3_ltpf_analyse(
/* --- Resampling to 12.8 KHz --- */
int z_12k8 = sizeof(ltpf->x_12k8) / sizeof(*ltpf->x_12k8);
int n_12k8 = dt == LC3_DT_7M5 ? 96 : 128;
int n_12k8 = (1 + dt) * 32;
memmove(ltpf->x_12k8, ltpf->x_12k8 + n_12k8,
(z_12k8 - n_12k8) * sizeof(*ltpf->x_12k8));
@ -624,7 +673,7 @@ bool lc3_ltpf_analyse(
resample_12k8[sr](&ltpf->hp50, x, x_12k8, n_12k8);
x_12k8 -= (dt == LC3_DT_7M5 ? 44 : 24);
x_12k8 -= (dt == LC3_DT_7M5 ? 44 : 24);
/* --- Resampling to 6.4 KHz --- */
@ -638,6 +687,13 @@ bool lc3_ltpf_analyse(
resample_6k4(x_12k8, x_6k4, n_6k4);
/* --- Enlarge for small frame size --- */
if (dt == LC3_DT_2M5) {
x_12k8 -= n_12k8, x_6k4 -= n_6k4;
n_12k8 += n_12k8; n_6k4 += n_6k4;
}
/* --- Pitch detection --- */
int tc, pitch = 0;
@ -646,7 +702,7 @@ bool lc3_ltpf_analyse(
bool pitch_present = detect_pitch(ltpf, x_6k4, n_6k4, &tc);
if (pitch_present) {
int16_t u[n_12k8], v[n_12k8];
int16_t u[128], v[128];
data->pitch_index = refine_pitch(x_12k8, n_12k8, tc, &pitch);
@ -663,11 +719,11 @@ bool lc3_ltpf_analyse(
LC3_MAX(pitch, ltpf->pitch) - LC3_MIN(pitch, ltpf->pitch);
float nc_diff = nc - ltpf->nc[0];
data->active = pitch_present &&
data->active = !lc3_hr(sr) && pitch_present &&
((nc > 0.9f) || (nc > 0.84f && pitch_diff < 8 && nc_diff > -0.1f));
} else {
data->active = pitch_present &&
data->active = !lc3_hr(sr) && pitch_present &&
( (dt == LC3_DT_10M || ltpf->nc[1] > 0.94f) &&
(ltpf->nc[0] > 0.94f && nc > 0.94f) );
}
@ -685,6 +741,14 @@ bool lc3_ltpf_analyse(
* Synthesis
* -------------------------------------------------------------------------- */
/**
* Width of synthesis filter
*/
#define MAX_FILTER_WIDTH \
(LC3_MAX_SRATE_HZ / 4000)
/**
* Synthesis filter template
* xh, nh History ring buffer of filtered samples
@ -701,7 +765,7 @@ LC3_HOT static inline void synthesize_template(
{
float g = (float)(fade <= 0);
float g_incr = (float)((fade > 0) - (fade < 0)) / n;
float u[w];
float u[MAX_FILTER_WIDTH];
/* --- Load previous samples --- */
@ -749,6 +813,7 @@ LC3_HOT static inline void synthesize_template(
* Synthesis filter for each samplerates (width of filter)
*/
LC3_HOT static void synthesize_4(const float *xh, int nh, int lag,
const float *x0, float *x, int n, const float *c, int fade)
{
@ -791,8 +856,7 @@ void lc3_ltpf_synthesize(enum lc3_dt dt, enum lc3_srate sr, int nbytes,
lc3_ltpf_synthesis_t *ltpf, const lc3_ltpf_data_t *data,
const float *xh, float *x)
{
int nh = LC3_NH(dt, sr);
int dt_us = LC3_DT_US(dt);
int nh = lc3_ns(dt, sr) + lc3_nh(dt, sr);
/* --- Filter parameters --- */
@ -802,14 +866,19 @@ void lc3_ltpf_synthesize(enum lc3_dt dt, enum lc3_srate sr, int nbytes,
p_idx >= 380 ? (((p_idx >> 1) - 63) << 2) + (((p_idx & 1)) << 1) :
(((p_idx >> 2) + 32) << 2) + (((p_idx & 3)) << 0) ;
pitch = (pitch * LC3_SRATE_KHZ(sr) * 10 + 64) / 128;
pitch = (pitch * lc3_ns(LC3_DT_10M, sr) + 64) / 128;
int nbits = (nbytes*8 * 10000 + (dt_us/2)) / dt_us;
int g_idx = LC3_MAX(nbits / 80, 3 + (int)sr) - (3 + sr);
int nbits = (nbytes*8 * (1 + LC3_DT_10M)) / (1 + dt);
if (dt == LC3_DT_2M5)
nbits = (6 * nbits + 5) / 10;
if (dt == LC3_DT_5M)
nbits -= 160;
int g_idx = LC3_MAX(nbits / 80, (int)(3 + sr)) - (3 + sr);
bool active = data && data->active && g_idx < 4;
int w = LC3_MAX(4, LC3_SRATE_KHZ(sr) / 4);
float c[2*w];
int w = LC3_MAX(4, lc3_ns_4m[sr] >> 4);
float c[2 * MAX_FILTER_WIDTH];
for (int i = 0; i < w; i++) {
float g = active ? 0.4f - 0.05f * g_idx : 0;
@ -819,31 +888,32 @@ void lc3_ltpf_synthesize(enum lc3_dt dt, enum lc3_srate sr, int nbytes,
/* --- Transition handling --- */
int ns = LC3_NS(dt, sr);
int nt = ns / (3 + dt);
float x0[w];
int ns = lc3_ns(dt, sr);
int nt = ns / (1 + dt);
float x0[2][MAX_FILTER_WIDTH];
memcpy(x0[0], ltpf->x, (w-1) * sizeof(float));
memcpy(ltpf->x, x + ns - (w-1), (w-1) * sizeof(float));
if (active)
memcpy(x0, x + nt-(w-1), (w-1) * sizeof(float));
memcpy(x0[1], x + nt-(w-1), (w-1) * sizeof(float));
if (!ltpf->active && active)
synthesize[sr](xh, nh, pitch/4, ltpf->x, x, nt, c, 1);
synthesize[sr](xh, nh, pitch/4, x0[0], x, nt, c, 1);
else if (ltpf->active && !active)
synthesize[sr](xh, nh, ltpf->pitch/4, ltpf->x, x, nt, ltpf->c, -1);
synthesize[sr](xh, nh, ltpf->pitch/4, x0[0], x, nt, ltpf->c, -1);
else if (ltpf->active && active && ltpf->pitch == pitch)
synthesize[sr](xh, nh, pitch/4, ltpf->x, x, nt, c, 0);
synthesize[sr](xh, nh, pitch/4, x0[0], x, nt, c, 0);
else if (ltpf->active && active) {
synthesize[sr](xh, nh, ltpf->pitch/4, ltpf->x, x, nt, ltpf->c, -1);
synthesize[sr](xh, nh, ltpf->pitch/4, x0[0], x, nt, ltpf->c, -1);
synthesize[sr](xh, nh, pitch/4,
(x <= xh ? x + nh : x) - (w-1), x, nt, c, 1);
}
/* --- Remainder --- */
memcpy(ltpf->x, x + ns - (w-1), (w-1) * sizeof(float));
if (active)
synthesize[sr](xh, nh, pitch/4, x0, x + nt, ns-nt, c, 0);
if (active && ns > nt)
synthesize[sr](xh, nh, pitch/4, x0[1], x + nt, ns-nt, c, 0);
/* --- Update state --- */
@ -886,7 +956,8 @@ void lc3_ltpf_put_data(lc3_bits_t *bits,
/**
* Get bitstream data
*/
void lc3_ltpf_get_data(lc3_bits_t *bits, struct lc3_ltpf_data *data)
void lc3_ltpf_get_data(lc3_bits_t *bits,
struct lc3_ltpf_data *data)
{
data->active = lc3_get_bit(bits);
data->pitch_index = lc3_get_bits(bits, 9);

View File

@ -16,13 +16,6 @@
*
******************************************************************************/
/**
* LC3 - Long Term Postfilter
*
* Reference : Low Complexity Communication Codec (LC3)
* Bluetooth Specification v1.0
*/
#ifndef __LC3_LTPF_H
#define __LC3_LTPF_H

35
3rd-party/lc3-google/src/makefile.mk vendored Normal file
View File

@ -0,0 +1,35 @@
#
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
liblc3_src += \
$(SRC_DIR)/attdet.c \
$(SRC_DIR)/bits.c \
$(SRC_DIR)/bwdet.c \
$(SRC_DIR)/energy.c \
$(SRC_DIR)/lc3.c \
$(SRC_DIR)/ltpf.c \
$(SRC_DIR)/mdct.c \
$(SRC_DIR)/plc.c \
$(SRC_DIR)/sns.c \
$(SRC_DIR)/spec.c \
$(SRC_DIR)/tables.c \
$(SRC_DIR)/tns.c
liblc3_cflags += -ffast-math
$(eval $(call add-lib,liblc3))
default: liblc3

View File

@ -160,7 +160,7 @@ LC3_HOT static inline void fft_bf2(
/**
* Perform FFT
* x, y0, y1 Input, and 2 scratch buffers of size `n`
* n Number of points 30, 40, 60, 80, 90, 120, 160, 180, 240
* n Number of points 30, 40, 60, 80, 90, 120, 160, 180, 240, 480
* return The buffer `y0` or `y1` that hold the result
*
* Input `x` can be the same as the `y0` second scratch buffer
@ -175,9 +175,9 @@ static struct lc3_complex *fft(const struct lc3_complex *x, int n,
*
* n = 5^1 * 3^n3 * 2^n2
*
* for n = 40, 80, 160 n3 = 0, n2 = [3..5]
* n = 30, 60, 120, 240 n3 = 1, n2 = [1..4]
* n = 90, 180 n3 = 2, n2 = [1..2]
* for n = 10, 20, 40, 80, 160 n3 = 0, n2 = [1..5]
* n = 30, 60, 120, 240, 480 n3 = 1, n2 = [1..5]
* n = 90, 180 n3 = 2, n2 = [1..2]
*
* Note that the expression `n & (n-1) == 0` is equivalent
* to the check that `n` is a power of 2. */
@ -200,16 +200,18 @@ static struct lc3_complex *fft(const struct lc3_complex *x, int n,
/**
* Windowing of samples before MDCT
* dt, sr Duration and samplerate (size of the transform)
* dt, sr Duration and samplerate
* x, y Input current and delayed samples
* y, d Output windowed samples, and delayed ones
*/
LC3_HOT static void mdct_window(enum lc3_dt dt, enum lc3_srate sr,
LC3_HOT static void mdct_window(
enum lc3_dt dt, enum lc3_srate sr,
const float *x, float *d, float *y)
{
int ns = LC3_NS(dt, sr), nd = LC3_ND(dt, sr);
const float *win = lc3_mdct_win[dt][sr];
int ns = lc3_ns(dt, sr), nd = lc3_nd(dt, sr);
const float *w0 = lc3_mdct_win[dt][sr], *w1 = w0 + ns;
const float *w0 = win, *w1 = w0 + ns;
const float *w2 = w1, *w3 = w2 + nd;
const float *x0 = x + ns-nd, *x1 = x0;
@ -267,12 +269,11 @@ LC3_HOT static void mdct_pre_fft(const struct lc3_mdct_rot_def *def,
* Post-rotate FFT N/4 points coefficients, resulting MDCT N points
* def Size and twiddles factors
* x, y Input and output coefficients
* scale Scale on output coefficients
*
* `x` and y` can be the same buffer
*/
LC3_HOT static void mdct_post_fft(const struct lc3_mdct_rot_def *def,
const struct lc3_complex *x, float *y, float scale)
const struct lc3_complex *x, float *y)
{
int n4 = def->n4, n8 = n4 >> 1;
@ -283,11 +284,11 @@ LC3_HOT static void mdct_post_fft(const struct lc3_mdct_rot_def *def,
for ( ; y1 > y; x0++, x1--, w0++, w1--) {
float u0 = (x0->im * w0->im + x0->re * w0->re) * scale;
float u1 = (x1->re * w1->im - x1->im * w1->re) * scale;
float u0 = x0->im * w0->im + x0->re * w0->re;
float u1 = x1->re * w1->im - x1->im * w1->re;
float v0 = (x0->re * w0->im - x0->im * w0->re) * scale;
float v1 = (x1->im * w1->im + x1->re * w1->re) * scale;
float v0 = x0->re * w0->im - x0->im * w0->re;
float v1 = x1->im * w1->im + x1->re * w1->re;
*(y0++) = u0; *(y0++) = u1;
*(--y1) = v0; *(--y1) = v1;
@ -330,14 +331,13 @@ LC3_HOT static void imdct_pre_fft(const struct lc3_mdct_rot_def *def,
* Post-rotate FFT N/4 points coefficients, resulting IMDCT N points
* def Size and twiddles factors
* x, y Input and output coefficients
* scale Scale on output coefficients
*
* `x` and y` can be the same buffer
* The real and imaginary parts of `x` are swapped,
* to operate on FFT instead of IFFT
*/
LC3_HOT static void imdct_post_fft(const struct lc3_mdct_rot_def *def,
const struct lc3_complex *x, float *y, float scale)
const struct lc3_complex *x, float *y)
{
int n4 = def->n4;
@ -350,11 +350,11 @@ LC3_HOT static void imdct_post_fft(const struct lc3_mdct_rot_def *def,
struct lc3_complex uz = *(x0++), vz = *(--x1);
struct lc3_complex uw = *(w0++), vw = *(--w1);
*(y0++) = (uz.re * uw.im - uz.im * uw.re) * scale;
*(--y1) = (uz.re * uw.re + uz.im * uw.im) * scale;
*(y0++) = uz.re * uw.im - uz.im * uw.re;
*(--y1) = uz.re * uw.re + uz.im * uw.im;
*(--y1) = (vz.re * vw.im - vz.im * vw.re) * scale;
*(y0++) = (vz.re * vw.re + vz.im * vw.im) * scale;
*(--y1) = vz.re * vw.im - vz.im * vw.re;
*(y0++) = vz.re * vw.re + vz.im * vw.im;
}
}
@ -364,7 +364,8 @@ LC3_HOT static void imdct_post_fft(const struct lc3_mdct_rot_def *def,
* x, d Middle half of IMDCT coefficients and delayed samples
* y, d Output samples and delayed ones
*/
LC3_HOT static void imdct_window(enum lc3_dt dt, enum lc3_srate sr,
LC3_HOT static void imdct_window(
enum lc3_dt dt, enum lc3_srate sr,
const float *x, float *d, float *y)
{
/* The full MDCT coefficients is given by symmetry :
@ -373,8 +374,9 @@ LC3_HOT static void imdct_window(enum lc3_dt dt, enum lc3_srate sr,
* T[ n/2 .. 3n/4-1] = half[n/4 .. n/2-1]
* T[3n/4 .. n-1] = half[n/2-1 .. n/4 ] */
int n4 = LC3_NS(dt, sr) >> 1, nd = LC3_ND(dt, sr);
const float *w2 = lc3_mdct_win[dt][sr], *w0 = w2 + 3*n4, *w1 = w0;
const float *win = lc3_mdct_win[dt][sr];
int n4 = lc3_ns(dt, sr) >> 1, nd = lc3_nd(dt, sr);
const float *w2 = win, *w0 = w2 + 3*n4, *w1 = w0;
const float *x0 = d + nd-n4, *x1 = x0;
float *y0 = y + nd-n4, *y1 = y0, *y2 = d + nd, *y3 = d;
@ -409,17 +411,31 @@ LC3_HOT static void imdct_window(enum lc3_dt dt, enum lc3_srate sr,
}
}
/**
* Rescale samples
* x, n Input and count of samples, scaled as output
* scale Scale factor
*/
LC3_HOT static void rescale(float *x, int n, float f)
{
for (int i = 0; i < (n >> 2); i++) {
*(x++) *= f; *(x++) *= f;
*(x++) *= f; *(x++) *= f;
}
}
/**
* Forward MDCT transformation
*/
void lc3_mdct_forward(enum lc3_dt dt, enum lc3_srate sr,
enum lc3_srate sr_dst, const float *x, float *d, float *y)
void lc3_mdct_forward(
enum lc3_dt dt, enum lc3_srate sr, enum lc3_srate sr_dst,
const float *x, float *d, float *y)
{
const struct lc3_mdct_rot_def *rot = lc3_mdct_rot[dt][sr];
int nf = LC3_NS(dt, sr_dst);
int ns = LC3_NS(dt, sr);
int ns_dst = lc3_ns(dt, sr_dst);
int ns = lc3_ns(dt, sr);
struct lc3_complex buffer[ns/2];
struct lc3_complex buffer[LC3_MAX_NS / 2];
struct lc3_complex *z = (struct lc3_complex *)y;
union { float *f; struct lc3_complex *z; } u = { .z = buffer };
@ -427,26 +443,33 @@ void lc3_mdct_forward(enum lc3_dt dt, enum lc3_srate sr,
mdct_pre_fft(rot, u.f, u.z);
u.z = fft(u.z, ns/2, u.z, z);
mdct_post_fft(rot, u.z, y, sqrtf( (2.f*nf) / (ns*ns) ));
mdct_post_fft(rot, u.z, y);
if (ns != ns_dst)
rescale(y, ns_dst, sqrtf((float)ns_dst / ns));
}
/**
* Inverse MDCT transformation
*/
void lc3_mdct_inverse(enum lc3_dt dt, enum lc3_srate sr,
enum lc3_srate sr_src, const float *x, float *d, float *y)
void lc3_mdct_inverse(
enum lc3_dt dt, enum lc3_srate sr, enum lc3_srate sr_src,
const float *x, float *d, float *y)
{
const struct lc3_mdct_rot_def *rot = lc3_mdct_rot[dt][sr];
int nf = LC3_NS(dt, sr_src);
int ns = LC3_NS(dt, sr);
int ns_src = lc3_ns(dt, sr_src);
int ns = lc3_ns(dt, sr);
struct lc3_complex buffer[ns/2];
struct lc3_complex buffer[LC3_MAX_NS / 2];
struct lc3_complex *z = (struct lc3_complex *)y;
union { float *f; struct lc3_complex *z; } u = { .z = buffer };
imdct_pre_fft(rot, x, z);
z = fft(z, ns/2, z, u.z);
imdct_post_fft(rot, z, u.f, sqrtf(2.f / nf));
imdct_post_fft(rot, z, u.f);
if (ns != ns_src)
rescale(u.f, ns, sqrtf((float)ns / ns_src));
imdct_window(dt, sr, u.f, d, y);
}

View File

@ -16,13 +16,6 @@
*
******************************************************************************/
/**
* LC3 - Compute LD-MDCT (Low Delay Modified Discret Cosinus Transform)
*
* Reference : Low Complexity Communication Codec (LC3)
* Bluetooth Specification v1.0
*/
#ifndef __LC3_MDCT_H
#define __LC3_MDCT_H
@ -38,8 +31,9 @@
*
* `x` and `y` can be the same buffer
*/
void lc3_mdct_forward(enum lc3_dt dt, enum lc3_srate sr,
enum lc3_srate sr_dst, const float *x, float *d, float *y);
void lc3_mdct_forward(
enum lc3_dt dt, enum lc3_srate sr, enum lc3_srate sr_dst,
const float *x, float *d, float *y);
/**
* Inverse MDCT transformation
@ -50,8 +44,9 @@ void lc3_mdct_forward(enum lc3_dt dt, enum lc3_srate sr,
*
* `x` and `y` can be the same buffer
*/
void lc3_mdct_inverse(enum lc3_dt dt, enum lc3_srate sr,
enum lc3_srate sr_src, const float *x, float *d, float *y);
void lc3_mdct_inverse(
enum lc3_dt dt, enum lc3_srate sr, enum lc3_srate sr_src,
const float *x, float *d, float *y);
#endif /* __LC3_MDCT_H */

62
3rd-party/lc3-google/src/meson.build vendored Normal file
View File

@ -0,0 +1,62 @@
# Copyright © 2022 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
inc = include_directories('../include')
lc3_sources = [
'attdet.c',
'bits.c',
'bwdet.c',
'energy.c',
'lc3.c',
'ltpf.c',
'mdct.c',
'plc.c',
'sns.c',
'spec.c',
'tables.c',
'tns.c'
]
lc3lib = library('lc3',
lc3_sources,
dependencies: m_dep,
include_directories: inc,
gnu_symbol_visibility: 'hidden',
soversion: 1,
install: true)
lc3_install_headers = [
'../include/lc3_private.h',
'../include/lc3.h',
'../include/lc3_cpp.h'
]
install_headers(lc3_install_headers)
pkg_mod = import('pkgconfig')
pkg_mod.generate(libraries : lc3lib,
name : 'liblc3',
filebase : 'lc3',
description : 'LC3 codec library')
#Declare dependency
liblc3_dep = declare_dependency(
link_with : lc3lib,
include_directories : inc)
if meson.version().version_compare('>= 0.54.0')
meson.override_dependency('liblc3', liblc3_dep)
endif

View File

@ -17,6 +17,7 @@
******************************************************************************/
#include "plc.h"
#include "tables.h"
/**
@ -45,7 +46,7 @@ void lc3_plc_synthesize(enum lc3_dt dt, enum lc3_srate sr,
{
uint16_t seed = plc->seed;
float alpha = plc->alpha;
int ne = LC3_NE(dt, sr);
int ne = lc3_ne(dt, sr);
alpha *= (plc->count < 4 ? 1.0f :
plc->count < 8 ? 0.9f : 0.85f);

View File

@ -16,13 +16,6 @@
*
******************************************************************************/
/**
* LC3 - Packet Loss Concealment
*
* Reference : Low Complexity Communication Codec (LC3)
* Bluetooth Specification v1.0
*/
#ifndef __LC3_PLC_H
#define __LC3_PLC_H

Some files were not shown because too many files have changed in this diff Show More