-
IVAS FORMAT - Worst Case WMOPS Performance
-
-
-
-
-
- - Worst case encoder + decoder performance: Encoder and decoder mode might be different.
- - Worst case encoder + decoder performance (rateswitching): Encoder and decoder mode might be different.
- - Worst case codec performance: Encoder and decoder modes are identical.
- - Worst case codec performance (rateswitching): Encoder and decoder modes are identical.
- - Worst case encoder performance
- - Worst case encoder performance (rateswitching)
- - Worst case decoder performance
- - Worst case decoder performance (rateswitching)
-
-
-
-
-
-
IVAS FORMAT - Worst Case WMOPS Performance
- per Operating Point
-
-
-
-
-
-
-
-
-
-
-
IVAS FORMAT - Worst Case RAM Demand
-
-
-
-
-
- - Max. total RAM Codec:
- Encoder + Decoder
- - Max. total RAM Encoder:
- Encoder only
- - Max. total RAM Decoder:
- Decoder only
-
- - Max. HEAP Codec:
- Encoder + Decoder
- - Max. HEAP Encoder
- Encoder only
- - Max. HEAP Decoder
- Decoder only
-
- - Max. STACK Codec:
- max(Encoder, Decoder)
- - Max. STACK Encoder:
- Encoder only
- - Max. STACK Decoder:
- Decoder only
-
-
-
-
-
-
-
-
IVAS FORMAT - Worst Case ROM Demand
-
-
-
-
-
- - Max. total ROM Codec: Encoder + Decoder
-
- - Max. Program ROM Encoder Library: lib_enc only
- - Max. Program ROM Decoder Library: lib_dec only
- - Max. Program ROM Common Library: lib_com only
- - Max. Program ROM Ext Renderer Library: lib_rend only
-
- - Max. Table ROM Encoder Library: lib_enc only
- - Max. Table ROM Decoder Library: lib_dec only
- - Max. Table ROM Common Library: lib_com only
- - Max. Table ROM Ext Renderer Library: lib_rend only
-
-
-
-
-
-
FAQ
-
- - Q:
- What is the meaning of these funny symbols in the navigation box, in the left upper corner of this page?
- - A:
-
- 1) Traffic light ●●●, ●●● or ●●●: !!!CURRENTLY NOT WORKING CORRECTLY AS NO REQUIREMENTS DEFINED YET!!! The traffic light symbols show, whether the last datapoint matches the requirement (green) or not (red). A yellow traffic light means that the requirement is matched, but the score is very close (within a 3% margin) to the requirement.
- 2) Arrow ↑, ↓, →: The arrow indicates the trend of the last datapoint, compared to the last but one. An upwards arrow means that the score got higher (i.e. worse), downwards arrow arrow means that the score got lower (i.e. better), and a rightwards arrow means that the score was kept constant (within a 1% margin).
-
- - Q:
- Which input files are used for audio-input? What error pattern is used?
- - A:
- The input files can be found here. The error pattern is here.
-
-
-
-
-
Legal notice
-
- This webpage uses jQuery and Flot.js libraries for which the following licenses apply:
-
- - jQuery:
- -
- Copyright OpenJS Foundation and other contributors, https://openjsf.org/
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- - Flot.js:
- -
- Copyright (c) 2007-2014 IOLA and Ole Laursen
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use,
- copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the
- Software is furnished to do so, subject to the following
- conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
-
-
-
-
-
-
-
-
-
diff --git a/ci/complexity_measurements/mergeNewsletterRam.py b/ci/complexity_measurements/mergeNewsletterRam.py
deleted file mode 100644
index d578b51c56f8b7a4cf6dee50c87f0d94d7c64422..0000000000000000000000000000000000000000
--- a/ci/complexity_measurements/mergeNewsletterRam.py
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/usr/bin/env python3
-# coding: utf-8
-
-# (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
-# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
-# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
-# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
-# contributors to this repository. All Rights Reserved.
-
-# This software is protected by copyright law and by international treaties.
-# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
-# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
-# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
-# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
-# contributors to this repository retain full ownership rights in their respective contributions in
-# the software. This notice grants no license of any kind, including but not limited to patent
-# license, nor is any license granted by implication, estoppel or otherwise.
-
-# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
-# contributions.
-
-# This software is provided "AS IS", without any express or implied warranties. The software is in the
-# development stage. It is intended exclusively for experts who have experience with such software and
-# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
-# and fitness for a particular purpose are hereby disclaimed and excluded.
-
-# Any dispute, controversy or claim arising under or in relation to providing this software shall be
-# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
-# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
-# the United Nations Convention on Contracts on the International Sales of Goods.
-import csv
-import sys
-
-newsletterFilename = ""
-newsletterFilenameLast = ""
-revision = ""
-shortDate = ""
-fullDate = ""
-
-if __name__ == "__main__":
- newsletterFilenameHEAP = sys.argv[1]
- newsletterFilenameSTACK = sys.argv[2]
-
-ram_table = {}
-
-with open(newsletterFilenameHEAP, "r") as csvfile:
- HEAP = csv.reader(csvfile, delimiter=";")
- for row in HEAP:
- if row[0] == "conf":
- continue
- key = row[0]
- lst = row[1:]
- ram_table[key] = lst
-
-with open(newsletterFilenameSTACK, "r") as csvfile:
- STACK = csv.reader(csvfile, delimiter=";")
- for row in STACK:
- if row[0] == "conf":
- continue
- key = row[0]
- lst = row[1:]
- ram_table[key] += lst
-
-# now we have the following format
-# HEAP enc, HEAP dec, HEAP total, STACK enc, STACK dec, STACK max(enc, dec)
-
-print("conf;HEAP enc;HEAP dec;HEAP total;STACK enc;STACK dec;STACK max;total")
-
-for key in ram_table:
- ram = ram_table[key]
- total = int(ram[0]) + int(ram[1]) + int(ram[5])
- print(
- key,
- ";",
- ram[0],
- ";",
- ram[1],
- ";",
- ram[2],
- ";",
- ram[3],
- ";",
- ram[4],
- ";",
- ram[5],
- ";",
- total,
- sep="",
- )
diff --git a/ci/complexity_measurements/mergeNewsletterRom.py b/ci/complexity_measurements/mergeNewsletterRom.py
deleted file mode 100644
index b46e6c55709ee8c401cec78554218f8cff283bf7..0000000000000000000000000000000000000000
--- a/ci/complexity_measurements/mergeNewsletterRom.py
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/usr/bin/env python3
-# coding: utf-8
-
-# (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
-# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
-# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
-# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
-# contributors to this repository. All Rights Reserved.
-
-# This software is protected by copyright law and by international treaties.
-# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
-# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
-# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
-# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
-# contributors to this repository retain full ownership rights in their respective contributions in
-# the software. This notice grants no license of any kind, including but not limited to patent
-# license, nor is any license granted by implication, estoppel or otherwise.
-
-# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
-# contributions.
-
-# This software is provided "AS IS", without any express or implied warranties. The software is in the
-# development stage. It is intended exclusively for experts who have experience with such software and
-# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
-# and fitness for a particular purpose are hereby disclaimed and excluded.
-
-# Any dispute, controversy or claim arising under or in relation to providing this software shall be
-# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
-# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
-# the United Nations Convention on Contracts on the International Sales of Goods.
-import csv
-import sys
-
-newsletterFilename = ""
-newsletterFilenameLast = ""
-revision = ""
-shortDate = ""
-fullDate = ""
-
-if __name__ == "__main__":
- newsletterFilenamePROM = sys.argv[1]
- newsletterFilenameTROM = sys.argv[2]
-
-rom_table = {}
-
-with open(newsletterFilenamePROM, "r") as csvfile:
- PROM = csv.reader(csvfile, delimiter=";")
- for row in PROM:
- if row[0] == "conf":
- continue
- key = row[0]
- lst = row[1:]
- rom_table[key] = lst
-
-with open(newsletterFilenameTROM, "r") as csvfile:
- TROM = csv.reader(csvfile, delimiter=";")
- for row in TROM:
- if row[0] == "conf":
- continue
- key = row[0]
- lst = row[1:]
- rom_table[key] += lst
-
-# now we have the following format
-# PROM enc, PROM dec, PROM com, PROM rend, PROM total, TROM enc, TROM dec, TROM com, TROM rend, TROM total
-
-print(
- "conf;PROM enc;PROM dec;PROM com;PROM rend;PROM total;TROM enc;TROM dec;TROM com;TROM rend;TROM total;total"
-)
-
-for key in rom_table:
- rom = rom_table[key]
- total = int(rom[4]) + int(rom[9])
- print(
- key,
- ";",
- rom[0],
- ";",
- rom[1],
- ";",
- rom[2],
- ";",
- rom[3],
- ";",
- rom[4],
- ";",
- rom[5],
- ";",
- rom[6],
- ";",
- rom[7],
- ";",
- rom[8],
- ";",
- rom[9],
- ";",
- total,
- sep="",
- )
diff --git a/ci/complexity_measurements/parseNewsletterRam.py b/ci/complexity_measurements/parseNewsletterRam.py
deleted file mode 100644
index 55eecff5738264d933b13470ee0f35789c138853..0000000000000000000000000000000000000000
--- a/ci/complexity_measurements/parseNewsletterRam.py
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env python3
-# coding: utf-8
-"""
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-"""
-
-import csv
-import re
-import sys
-
-newsletterFilename = ""
-newsletterFilenameLast = ""
-revision = ""
-shortDate = ""
-fullDate = ""
-
-if __name__ == "__main__":
- newsletterFilenameHEAP = sys.argv[1]
- newsletterFilenameSTACK = sys.argv[2]
- newsletterFilenameLast = sys.argv[3]
- revision = sys.argv[4]
- shortDate = sys.argv[5]
- fullDate = sys.argv[6]
-
-max_total_enc = ["None", 0]
-max_total_dec = ["None", 0]
-max_total_encdec = ["None", 0]
-
-max_stack_enc = ["None", 0]
-max_stack_dec = ["None", 0]
-max_stack_encdec = ["None", 0]
-
-max_heap_enc = ["None", 0]
-max_heap_dec = ["None", 0]
-max_heap_encdec = ["None", 0]
-
-ram_table = {}
-
-with open(newsletterFilenameHEAP, "r") as csvfile:
- HEAP = csv.reader(csvfile, delimiter=";")
- for row in HEAP:
- if row[0] == "conf":
- continue
- key = row[0]
- lst = row[1:]
- ram_table[key] = lst
-
-with open(newsletterFilenameSTACK, "r") as csvfile:
- STACK = csv.reader(csvfile, delimiter=";")
- for row in STACK:
- if row[0] == "conf":
- continue
- key = row[0]
- lst = row[1:]
- ram_table[key] += lst
-
-# now we have the following format
-# HEAP enc, HEAP dec, HEAP total, STACK enc, STACK dec, STACK max(enc, dec), total
-
-for key in ram_table:
- ram = ram_table[key]
- heap_enc = int(ram[0])
- heap_dec = int(ram[1])
- heap_encdec = heap_enc + heap_dec
-
- stack_enc = int(ram[3])
- stack_dec = int(ram[4])
- stack_encdec = int(ram[5])
-
- total_enc = heap_enc + stack_enc
- total_dec = heap_dec + stack_dec
- total_encdec = heap_encdec + stack_encdec
-
- if heap_enc > max_heap_enc[1]:
- max_heap_enc[0] = re.sub(" ", "_", key)
- max_heap_enc[1] = heap_enc
-
- if heap_dec > max_heap_dec[1]:
- max_heap_dec[0] = re.sub(" ", "_", key)
- max_heap_dec[1] = heap_dec
-
- if heap_encdec > max_heap_encdec[1]:
- max_heap_encdec[0] = re.sub(" ", "_", key)
- max_heap_encdec[1] = heap_encdec
-
- if stack_enc > max_stack_enc[1]:
- max_stack_enc[0] = re.sub(" ", "_", key)
- max_stack_enc[1] = stack_enc
-
- if stack_dec > max_stack_dec[1]:
- max_stack_dec[0] = re.sub(" ", "_", key)
- max_stack_dec[1] = stack_dec
-
- if stack_encdec > max_stack_encdec[1]:
- max_stack_encdec[0] = re.sub(" ", "_", key)
- max_stack_encdec[1] = stack_encdec
-
- if total_enc > max_total_enc[1]:
- max_total_enc[0] = re.sub(" ", "_", key)
- max_total_enc[1] = total_enc
-
- if total_dec > max_total_dec[1]:
- max_total_dec[0] = re.sub(" ", "_", key)
- max_total_dec[1] = total_dec
-
- if total_encdec > max_total_encdec[1]:
- max_total_encdec[0] = re.sub(" ", "_", key)
- max_total_encdec[1] = total_encdec
-
-
-print(
- revision, # string revision $tmp[1]
- shortDate, # string shortDate $tmp[2]
- fullDate, # string fullDate $tmp[3]
- max_total_encdec[1], # value maxTotalRamCodecScore $tmp[4]
- max_total_enc[0], # string maxTotalRamEnc $tmp[5]
- max_total_enc[1], # value maxTotalRamEnc $tmp[6]
- max_total_dec[0], # string maxTotalRamDec $tmp[7]
- max_total_dec[1], # value maxTotalRamDecScore $tmp[8]
- max_stack_encdec[1], # value maxStackCodecScore $tmp[9]
- max_stack_enc[0], # string maxStackEnc $tmp[10]
- max_stack_enc[1], # value maxStackEncScore $tmp[11]
- max_stack_dec[0], # string maxStackDec $tmp[12]
- max_stack_dec[1], # value maxStackDecScore $tmp[13]
- max_heap_encdec[1], # value maxHeapCodecScore $tmp[14]
- max_heap_enc[0], # string maxHeapEnc $tmp[15]
- max_heap_enc[1], # value maxHeapEncScore $tmp[16]
- max_heap_dec[0], # string maxHeapDec $tmp[17]
- max_heap_dec[1], # value maxHeapDecScore $tmp[19]
- newsletterFilenameLast, # string logFile $tmp[19]
-)
diff --git a/ci/complexity_measurements/parseNewsletterRom.py b/ci/complexity_measurements/parseNewsletterRom.py
deleted file mode 100644
index a4a3df4ecfe0da6763668dd4e4e5639ebbb087aa..0000000000000000000000000000000000000000
--- a/ci/complexity_measurements/parseNewsletterRom.py
+++ /dev/null
@@ -1,164 +0,0 @@
-#!/usr/bin/env python3
-# coding: utf-8
-
-"""
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-"""
-
-import csv
-import re
-import sys
-
-newsletterFilename = ""
-newsletterFilenameLast = ""
-revision = ""
-shortDate = ""
-fullDate = ""
-
-if __name__ == "__main__":
- newsletterFilenamePROM = sys.argv[1]
- newsletterFilenameTROM = sys.argv[2]
- newsletterFilenameLast = sys.argv[3]
- revision = sys.argv[4]
- shortDate = sys.argv[5]
- fullDate = sys.argv[6]
-
-max_prom_enc = ["None", 0]
-max_prom_dec = ["None", 0]
-max_prom_com = ["None", 0]
-max_prom_rend = ["None", 0]
-max_prom_total = ["None", 0]
-
-max_trom_enc = ["None", 0]
-max_trom_dec = ["None", 0]
-max_trom_com = ["None", 0]
-max_trom_rend = ["None", 0]
-max_trom_total = ["None", 0]
-
-max_total_encdec = ["None", 0]
-
-rom_table = {}
-
-with open(newsletterFilenamePROM, "r") as csvfile:
- PROM = csv.reader(csvfile, delimiter=";")
- for row in PROM:
- if row[0] == "conf":
- continue
- key = row[0]
- lst = row[1:]
- rom_table[key] = lst
-
-with open(newsletterFilenameTROM, "r") as csvfile:
- TROM = csv.reader(csvfile, delimiter=";")
- for row in TROM:
- if row[0] == "conf":
- continue
- key = row[0]
- lst = row[1:]
- rom_table[key] += lst
-
-# now we have the following format
-# PROM enc, PROM dec, PROM com, PROM rend, PROM total, TROM enc, TROM dec, TROM com, TROM rend, TROM total, total
-
-for key in rom_table:
- rom = rom_table[key]
- prom_enc = int(rom[0])
- prom_dec = int(rom[1])
- prom_com = int(rom[2])
- prom_rend = int(rom[3])
- prom_total = int(rom[4])
-
- trom_enc = int(rom[5])
- trom_dec = int(rom[6])
- trom_com = int(rom[7])
- trom_rend = int(rom[8])
- trom_total = int(rom[9])
-
- total_encdec = prom_total + trom_total
-
- if prom_enc > max_prom_enc[1]:
- max_prom_enc[0] = re.sub(" ", "_", key)
- max_prom_enc[1] = prom_enc
-
- if prom_dec > max_prom_dec[1]:
- max_prom_dec[0] = re.sub(" ", "_", key)
- max_prom_dec[1] = prom_dec
-
- if prom_com > max_prom_com[1]:
- max_prom_com[0] = re.sub(" ", "_", key)
- max_prom_com[1] = prom_com
-
- if prom_rend > max_prom_rend[1]:
- max_prom_rend[0] = re.sub(" ", "_", key)
- max_prom_rend[1] = prom_rend
-
- if trom_enc > max_trom_enc[1]:
- max_trom_enc[0] = re.sub(" ", "_", key)
- max_trom_enc[1] = trom_enc
-
- if trom_dec > max_trom_dec[1]:
- max_trom_dec[0] = re.sub(" ", "_", key)
- max_trom_dec[1] = trom_dec
-
- if trom_com > max_trom_com[1]:
- max_trom_com[0] = re.sub(" ", "_", key)
- max_trom_com[1] = trom_com
-
- if trom_rend > max_trom_rend[1]:
- max_trom_rend[0] = re.sub(" ", "_", key)
- max_trom_rend[1] = trom_rend
-
- if total_encdec > max_total_encdec[1]:
- max_total_encdec[0] = re.sub(" ", "_", key)
- max_total_encdec[1] = total_encdec
-
-
-print(
- revision, # string revision $tmp[1]
- shortDate, # string shortDate $tmp[2]
- fullDate, # string fullDate $tmp[3]
- max_total_encdec[1], # value maxTotalRomCodecScore $tmp[4]
- max_prom_enc[0], # string maxPROMEnc $tmp[5]
- max_prom_enc[1], # value maxPROMEncScore $tmp[6]
- max_prom_dec[0], # string maxPROMDec $tmp[7]
- max_prom_dec[1], # value maxPROMDecScore $tmp[8]
- max_prom_com[0], # string maxPROMCom $tmp[9]
- max_prom_com[1], # value maxPROMComScore $tmp[10]
- max_prom_rend[0], # string maxPROMRend $tmp[11]
- max_prom_rend[1], # value maxPROMRendScore $tmp[12]
- max_trom_enc[0], # string maxTROMEnc $tmp[13]
- max_trom_enc[1], # value maxTROMEncScore $tmp[14]
- max_trom_dec[0], # string maxTROMDec $tmp[15]
- max_trom_dec[1], # value maxTROMDecScore $tmp[16]
- max_trom_com[0], # string maxTROMCom $tmp[17]
- max_trom_com[1], # value maxTROMComScore $tmp[18]
- max_trom_rend[0], # string maxTROMRend $tmp[19]
- max_trom_rend[1], # value maxTROMRendScore $tmp[20]
- newsletterFilenameLast, # string logFile $tmp[21]
-)
diff --git a/ci/complexity_measurements/parseNewsletterWmops.py b/ci/complexity_measurements/parseNewsletterWmops.py
deleted file mode 100644
index a00171ead797c3117aaf8e571cd88415480ad47d..0000000000000000000000000000000000000000
--- a/ci/complexity_measurements/parseNewsletterWmops.py
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/usr/bin/env python3
-# coding: utf-8
-"""
- (C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-"""
-
-import csv
-import re
-import sys
-
-newsletterFilename = ""
-newsletterFilenameLast = ""
-revision = ""
-shortDate = ""
-fullDate = ""
-
-if __name__ == "__main__":
- newsletterFilename = sys.argv[1]
- newsletterFilenameLast = sys.argv[2]
- revision = sys.argv[3]
- shortDate = sys.argv[4]
- fullDate = sys.argv[5]
-
-max_enc = ["None", 0]
-max_dec = ["None", 0]
-max_total = ["None", 0]
-fixedpointScalingFac = 1.0
-
-with open(newsletterFilename, "r") as csvfile:
- wmops = csv.reader(csvfile, delimiter=";")
- for row in wmops:
- if row[0] == "conf":
- continue
- if float(row[1]) > max_enc[1]:
- max_enc[0] = re.sub(" ", "_", row[0])
- max_enc[1] = float(row[1])
- if float(row[2]) > max_dec[1]:
- max_dec[0] = re.sub(" ", "_", row[0])
- max_dec[1] = float(row[2])
- if float(row[3]) > max_total[1]:
- max_total[0] = re.sub(" ", "_", row[0])
- max_total[1] = float(row[3])
-
-print(
- revision,
- shortDate,
- fullDate,
- max_enc[1] + max_dec[1],
- max_enc[0],
- max_enc[1],
- max_dec[0],
- max_dec[1],
- max_total[0],
- max_total[1],
- fixedpointScalingFac,
- max_enc[1] + max_dec[1],
- max_enc[0],
- max_enc[1],
- max_dec[0],
- max_dec[1],
- max_total[0],
- max_total[1],
- newsletterFilenameLast,
-)
diff --git a/ci/complexity_measurements/style.css b/ci/complexity_measurements/style.css
deleted file mode 100644
index 764ed0d94ff13958cbb612872e9bd9054e193387..0000000000000000000000000000000000000000
--- a/ci/complexity_measurements/style.css
+++ /dev/null
@@ -1,220 +0,0 @@
-body {
- background-color:#FFF;
- font:.6875em Verdana, Arial, Helvetica, sans-serif;
- color:#000;
-}
-a {
- color:#000;
- text-decoration:underline;
-}
-a:hover {
- text-decoration:none;
-}
-h1 {
- font-size:2.265em;
- font-weight:700;
- text-align: center;
-}
-em {
- font-style: normal;
- font-weight: bold;
-}
-hr {
- margin-top: 30px;
- margin-bottom: 30px;
- margin-left: 150px;
- margin-right:150px;
- height: 0px;
- border-top-width: 2px;
- border-bottom-width: 0px;
- border-left-width: 0px;
- border-right-width: 0px;
- border-top-style: solid;
- color: #606060;
-}
-.graph {
- width: 800px;
- height: 350px;
-}
-.graph-container {
- margin: 0 auto;
- width: 1600px;
-}
-.message-box {
- margin-top: 2em;
- padding: 1em;
- background-color: #FF8000;
- border-radius: 20px;
-}
-#wmops-graph {
- height:500px;
- width:1600px;
- float:left;
-}
-#wmops_per_op-graph {
- height:500px;
- width:1600px;
- float:left;
-}
-#wmops-48kHz-graph {
- height:500px;
- width:1600px;
- float:left;
-}
-#wmops_per_op-48kHz-graph {
- height:500px;
- width:1600px;
- float:left;
-}
-#wmops_basop_per_op-graph {
- height:500px;
- width:1600px;
- float:left;
-}
-#wmops-graph-basop {
- height:500px;
- width:1600px;
- float:left;
-}
-#conversion_factors_basop_flc {
- height:500px;
- width:1600px;
- float:left;
-}
-#ram-graph {
- height:500px;
- width:1600px;
- float:left;
-}
-#ram-graph-basop {
- height:500px;
- width:1600px;
- float:left;
-}
-#rom-graph {
- height:500px;
- width:1600px;
- float:left;
-}
-#rom-graph-basop{
- height:500px;
- width:1600px;
- float:left;
-}
-#prom-graph {
- height:500px;
- width:1600px;
- float:left;
-}
-#tooltip {
- border-radius:.35em;
- border-radius:.35em;
- background-color:#000;
- color:#FFF;
- display:none;
- opacity:0.8;
- padding:.25em;
- position:absolute;
- box-shadow: 6px 6px 6px #666;
-}
-#tooltip a:link, #tooltip a:active, #tooltip a:visited {
- color:#FFF;
- text-decoration: underline;
-}
-#tooltip a:hover {
- color:#FFF;
- text-decoration: none;
-}
-.legend {
- display: inline;
-}
-.legend li {
- border-left: 1.2em solid #FFF;
- margin-right: 2em;
- padding-left: .3em;
- margin-bottom: .2em;
- list-style-type: none;
-}
-
-#menu {
- color: #FFFFFF;
-}
-
-#menu ul {
- color: #FFFFFF;
- list-style: none;
- margin-left: -1em;
- position: relative;
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
-
-#menu li {
- margin-left: -1em;
- margin-bottom: 1.0em;
- margin-top: 1.0em;
-}
-
-#menu a {
- color: #FFFFFF;
-}
-
-dt {
- font-weight: bold;
-}
-
-dd hr {
- margin-top: 0.1em;
- margin-bottom: 0.1em;
- margin-left: 48%;
- margin-right: 48%;
-}
-
-#menu {
- float: left;
- margin-left: 1em;
- margin-top: 1em;
- width: 22em;
- border-radius: 1em;
- position: fixed;
- background-color: #000000;
- opacity: 0.8;
- box-shadow: 6px 6px 6px #666;
-}
-
-#content {
- margin-left: 17em;
-}
-
-.symbols {
- float: right;
- font-weight: bolder;
- font-size: 2em;
- margin-top: -0.4em;
-}
-
-.trafficlight {
- margin-right: 0px;
- margin-left: 0px;
- position: absolute;
- right: 2em;
- color: #202020;
-}
-
-.trend {
- margin-right: 0.5em;
- margin-left: 0.2em;
-}
-
-th, td {
- padding: 0.5em 2em;
- border: 1px solid #606060;
-}
-
-th {
- text-align: left;
-}
-
-td#number {
- text-align: right;
-}
diff --git a/ci/create_trajectories.py b/ci/create_trajectories.py
deleted file mode 100644
index 6b957df0926bdb2f08a43727571d160ea164894a..0000000000000000000000000000000000000000
--- a/ci/create_trajectories.py
+++ /dev/null
@@ -1,25 +0,0 @@
-import numpy as np
-
-
-FRAMES_PER_SEC = 50
-
-
-def random_trajectory(duration_sec):
- n_frames = int(FRAMES_PER_SEC * duration_sec)
- trj = np.random.random((n_frames, 4))
- trj[:, 0] = -3
- trj[:, 1] *= 180
- trj[:, 2] *= 90
- trj[:, 3] *= 180
- return trj
-
-
-def constant_trajectory(duration_sec, yaw=0, pitch=0, roll=0):
- n_frames = int(FRAMES_PER_SEC * duration_sec)
- trj = np.empty((n_frames, 4))
- trj[:, 0] = -3
- trj[:, 1] = yaw
- trj[:, 2] = pitch
- trj[:, 3] = roll
- return trj
-
diff --git a/ci/get_id_of_last_job_occurence.py b/ci/get_id_of_last_job_occurence.py
deleted file mode 100644
index f7540523b9e24295729df259205eb832b157c8a5..0000000000000000000000000000000000000000
--- a/ci/get_id_of_last_job_occurence.py
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env python3
-
-"""
-(C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
-Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
-Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
-Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
-contributors to this repository. All Rights Reserved.
-
-This software is protected by copyright law and by international treaties.
-The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
-Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
-Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
-Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
-contributors to this repository retain full ownership rights in their respective contributions in
-the software. This notice grants no license of any kind, including but not limited to patent
-license, nor is any license granted by implication, estoppel or otherwise.
-
-Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
-contributions.
-
-This software is provided "AS IS", without any express or implied warranties. The software is in the
-development stage. It is intended exclusively for experts who have experience with such software and
-solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
-and fitness for a particular purpose are hereby disclaimed and excluded.
-
-Any dispute, controversy or claim arising under or in relation to providing this software shall be
-submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
-accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
-the United Nations Convention on Contracts on the International Sales of Goods.
-"""
-
-import argparse
-
-import requests
-
-
-PER_PAGE_SUFFIX = "?per_page=50"
-PAGE_SUFFIX = "&page={}"
-API_URL_TMPL = "https://forge.3gpp.org/rep/api/v4/projects/{}/pipelines"
-SCOPE_FAILED = "&scope[]=failed"
-SCOPE_SUCCESS = "&scope[]=success"
-
-
-def get_job_id(branch_name, job_name, project_id, success_only):
- job_id = -1
- # check last 500 pipelines max
- for page in range(100):
- url_pls = API_URL_TMPL.format(project_id)
-
- # need both suffixes here to descend through the pages and get also older pipelines
- suffix = PER_PAGE_SUFFIX + PAGE_SUFFIX.format(page)
- resp_pls = requests.get(url_pls + suffix)
- for pl in resp_pls.json():
- if pl["ref"] == branch_name:
- url_args = PER_PAGE_SUFFIX
-
- url_args += SCOPE_SUCCESS
- if not success_only:
- url_args += SCOPE_FAILED
-
- url_jobs = url_pls + f"/{pl['id']}/jobs" + url_args
-
- resp_jobs = requests.get(url_jobs)
- if job_name not in resp_jobs.text:
- continue
-
- # find actual job by name, exclude timed out or stuck jobs
- for job in resp_jobs.json():
- name_matches = job["name"] == job_name
- is_success = job["status"] == "success"
- has_timed_out = job.get("failure_reason", "") == "stuck_or_timeout_failure"
- if name_matches and (is_success or not has_timed_out):
- job_id = job["id"]
- break
- if job_id >= 0:
- break
-
- if job_id >= 0:
- break
-
- return job_id
-
-
-if __name__ == "__main__":
- parser = argparse.ArgumentParser()
- parser.add_argument("branch_name", help="Name of the branch to search on")
- parser.add_argument("job_name", help="Name of the job to get the id of")
- parser.add_argument("project_id", help="ID of project to search in", type=int)
- parser.add_argument("--success_only", help="Only include jobs with status 'success'", action="store_true")
-
- args = parser.parse_args()
-
- job_id = get_job_id(args.branch_name, args.job_name, args.project_id, args.success_only)
- print(job_id)
diff --git a/ci/index-pages.html b/ci/index-pages.html
deleted file mode 100644
index 510e2031155ac1b2a2296b1066d29c37cb1344f7..0000000000000000000000000000000000000000
--- a/ci/index-pages.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-