diff --git a/Workspace_msvc/lib_com.vcxproj.filters b/Workspace_msvc/lib_com.vcxproj.filters
index 195d4deb1b9c6d4f5896ac00802e50b4ec695f51..c58edbff66fed647de45957935168e3d43c45bca 100644
--- a/Workspace_msvc/lib_com.vcxproj.filters
+++ b/Workspace_msvc/lib_com.vcxproj.filters
@@ -82,7 +82,6 @@
common_all_c
-
common_all_c
@@ -161,7 +160,6 @@
common_all_c
-
common_evs_c
@@ -216,7 +214,6 @@
common_all_c
-
common_all_c
@@ -361,65 +358,192 @@
common_all_c
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_ivas_c
+
+
+ common_ivas_c
+
+
+ common_ivas_c
+
+
+ common_ivas_c
+
+
+ common_ivas_c
+
+
+ common_ivas_c
+
+
+ common_ivas_c
+
+
+ common_ivas_c
+
+
+ common_ivas_c
+
+
+ common_ivas_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
+
+ common_all_c
+
@@ -493,7 +617,6 @@
common_h
-
common_h
@@ -504,6 +627,9 @@
common_h
+
+ common_all_c
+
diff --git a/Workspace_msvc/lib_dec.vcxproj.filters b/Workspace_msvc/lib_dec.vcxproj.filters
index b9dbd7fd5a6304a0d47586693a0d781946e88a35..348c5fbda5c75c35efa9ddc97f6246a8d33ed218 100644
--- a/Workspace_msvc/lib_dec.vcxproj.filters
+++ b/Workspace_msvc/lib_dec.vcxproj.filters
@@ -1,305 +1,912 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_evs_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_ivas_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
+
+ decoder_all_c
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+ decoder_h
+
+
+ decoder_h
+
+
+ decoder_h
+
+
+ decoder_h
+
+
+ decoder_h
+
+
+ decoder_h
+
+
+ decoder_h
+
+
+ decoder_h
+
+
+ decoder_h
+
+
+ decoder_h
+
+
+ decoder_h
+
+
+ decoder_h
+
+
+
+
+ {6d564218-e0e5-4a7b-80b3-6b10661ad36c}
+
+
+ {33d78f8d-2d43-40f5-a9b1-711097bd6746}
+
+
+ {044baa49-b157-45ed-8bec-29b6d7172e82}
+
+
+ {adc81a29-2517-49f0-819f-e8cea3d49ae3}
+
\ No newline at end of file
diff --git a/Workspace_msvc/lib_enc.vcxproj.filters b/Workspace_msvc/lib_enc.vcxproj.filters
index ac23c810ff27ac52177114f39d480d36a817c8bf..0c3220178924f65ff87dfee9b4c2a57195bfd1d9 100644
--- a/Workspace_msvc/lib_enc.vcxproj.filters
+++ b/Workspace_msvc/lib_enc.vcxproj.filters
@@ -1,851 +1,839 @@
-
+
-
- enc_ivas_c
+
+
+ encoder_evs_c
-
- enc_ivas_c
+
+ encoder_evs_c
-
- enc_ivas_c
+
+ encoder_evs_c
-
- enc_ivas_c
+
+ encoder_evs_c
-
- enc_ivas_c
+
+ encoder_evs_c
-
- enc_ivas_c
+
+ encoder_evs_c
-
- enc_evs_c
+
+ encoder_evs_c
-
- enc_evs_c
+
+ encoder_evs_c
- enc_evs_c
+ encoder_evs_c
+
+
+ encoder_evs_c
- enc_evs_c
+ encoder_evs_c
+
+
+ encoder_evs_c
- enc_evs_c
+ encoder_evs_c
+
+
+ encoder_evs_c
- enc_evs_c
+ encoder_evs_c
-
- enc_evs_c
+
+ encoder_evs_c
- enc_evs_c
-
-
- enc_evs_c
-
-
- enc_evs_c
-
-
- enc_evs_c
-
-
- enc_evs_c
-
-
- enc_evs_c
-
-
- enc_evs_c
-
-
- enc_evs_c
-
-
- enc_evs_c
+ encoder_evs_c
-
- enc_evs_c
+
+ encoder_evs_c
- enc_evs_c
+
+ encoder_evs_c
-
- enc_evs_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_evs_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
-
- enc_all_c
+
+ encoder_ivas_c
- enc_all_c
+
+ encoder_ivas_c
-
- enc_evs_c
+
+ encoder_ivas_c
- enc_ivas_c
-
-
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
-
-
- enc_all_c
+ encoder_ivas_c
-
- enc_evs_c
-
-
- enc_ivas_c
+
+ encoder_ivas_c
-
- enc_ivas_c
+
+ encoder_ivas_c
-
- enc_ivas_c
+
+ encoder_ivas_c
- enc_ivas_c
-
-
- enc_ivas_c
-
-
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
-
- enc_ivas_c
+
+ encoder_ivas_c
-
- enc_ivas_c
+
+ encoder_ivas_c
-
- enc_ivas_c
+
+ encoder_ivas_c
-
- enc_ivas_c
+
+ encoder_ivas_c
-
- enc_ivas_c
+
+ encoder_ivas_c
-
- enc_ivas_c
+
+ encoder_ivas_c
+
+
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
+
+
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
- enc_ivas_c
+ encoder_ivas_c
-
-
- enc_ivas_c
-
-
- enc_ivas_c
+
+ encoder_ivas_c
-
- enc_ivas_c
+
+ encoder_all_c
-
- enc_ivas_c
+
+ encoder_all_c
-
- enc_ivas_c
+
+ encoder_all_c
-
- enc_ivas_c
+
+ encoder_all_c
-
- enc_ivas_c
+
+ encoder_all_c
-
- enc_ivas_c
+
+ encoder_all_c
-
- enc_ivas_c
+
+ encoder_all_c
-
- enc_ivas_c
+
+ encoder_all_c
-
- enc_ivas_c
+
+ encoder_all_c
-
- enc_ivas_c
+
+ encoder_all_c
-
- enc_ivas_c
+
+ encoder_all_c
-
- enc_ivas_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
- enc_all_c
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
-
- enc_all_c
+
+ encoder_all_c
+
+
+ encoder_all_c
- enc_evs_c
+ encoder_all_c
-
- enc_evs_c
+
+ encoder_all_c
-
- enc_ivas_c
+
+ encoder_all_c
+
+
+ encoder_all_c
+
+
+ encoder_all_c
+
+
+ encoder_all_c
+
- enc_h
+ encoder_h
+
+
+ encoder_h
- enc_h
+ encoder_h
- enc_h
+ encoder_h
- enc_h
+ encoder_h
-
- enc_h
-
-
- enc_h
+ encoder_all_c
-
- {b7ee0526-8b79-4554-a3ec-04e51d38475f}
+
+ {34137975-e4fd-40f0-938f-02fd46da5e22}
-
- {dabed049-70a2-48f2-9da6-3b81a3664033}
+
+ {c24a3dcd-cde3-411b-aecf-747c29d87668}
-
- {5717f1cb-c593-400b-b23a-45c422fd95c8}
+
+ {e78e5d72-8d6d-4b00-a6e0-64a62c9cf8f2}
-
- {6cccabbe-510f-43d3-90e1-8ed5ea3837d7}
+
+ {597ebb71-22ba-41e8-b4bf-e8691bda2e5b}
\ No newline at end of file
diff --git a/Workspace_msvc/renderer.vcxproj b/Workspace_msvc/renderer.vcxproj
index 1f95040e1f2189e4fed248f58eddd0e27e8da7a0..70a130e3141e9e71ae9166e941d99f839a9bc7dd 100644
--- a/Workspace_msvc/renderer.vcxproj
+++ b/Workspace_msvc/renderer.vcxproj
@@ -65,7 +65,7 @@
Disabled
- ..\lib_com;..\lib_debug;..\lib_util;..\lib_rend;..\lib_dec;..\lib_enc;%(AdditionalIncludeDirectories)
+ ..\lib_com;..\lib_debug;..\lib_util;..\lib_rend;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;$(Macros);%(PreprocessorDefinitions)
EnableFastChecks
diff --git a/apps/renderer.c b/apps/renderer.c
index f5c0a8847264b45944f245818f8a7b332efd9d0a..cf8112313d7728d4e39bb08e19c8dd8c09e1aeb0 100644
--- a/apps/renderer.c
+++ b/apps/renderer.c
@@ -48,7 +48,6 @@
#include "vector3_pair_file_reader.h"
#include "wmc_auto.h"
-#include "prot_fx.h"
#define WMC_TOOL_SKIP
@@ -56,11 +55,15 @@
* Local constants
*------------------------------------------------------------------------------------------*/
+#define Q15 15
+#define Q22 22
+#define Q31 31
+#define ONE_IN_Q31 0x7fffffff
+
#define RENDERER_MAX_CLI_ARG_LENGTH ( FILENAME_MAX )
#define RENDERER_MAX_METADATA_LENGTH 8192
#define RENDERER_MAX_METADATA_LINE_LENGTH 1024
-
#define IVAS_MAX16B_FLT 32767.0f
#define IVAS_MIN16B_FLT ( -32768.0f )
#define IVAS_MAX16B_FX 32767
@@ -428,6 +431,47 @@ static Word16 find_guard_bits( Word32 n )
: n <= 1024 ? 10
: 11;
}
+
+static Word32 floatToFixed( float f, Word16 Q )
+{
+ Word64 result_32;
+
+ if ( f == 1.0f && Q == Q15 )
+ return IVAS_MAX16B_FX;
+ if ( f == 1.0f && Q == Q31 )
+ return MAXVAL_WORD32;
+ if ( Q < 0 )
+ result_32 = (Word64) ( (float) ( f ) / (double) ( (unsigned Word64) 1 << ( -Q ) ) + ( f >= 0 ? 0.5 : -0.5 ) );
+ else
+ result_32 = (Word64) ( f * (double) ( (unsigned Word64) 1 << Q ) + ( f >= 0 ? 0.5 : -0.5 ) );
+ if ( result_32 > MAX_32 )
+ return MAX_32;
+ if ( result_32 < MIN_32 )
+ return MIN_32;
+
+ return (Word32) result_32;
+}
+
+/* note: This function is defined inside the library too with different name but same functionality */
+static void floatToFixed_arrL_app( float *f, Word32 *i, Word16 Q, Word16 l )
+{
+ for ( int j = 0; j < l; j++ )
+ {
+ Word64 i64_val = floatToFixed( f[j], Q );
+ IF( i64_val > MAX_32 )
+ {
+ i64_val = MAX_32;
+ }
+ ELSE IF( i64_val < MIN_32 )
+ {
+ i64_val = MIN_32;
+ }
+ i[j] = (Word32) i64_val;
+ }
+
+ return;
+}
+
static IVAS_REND_ReadOnlyAudioBuffer getReadOnlySubBuffer(
IVAS_REND_AudioBuffer buffer,
const Word16 chBeginIdx,
@@ -930,8 +974,8 @@ int main(
/* Set up output custom layout configuration */
if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_LS_CUSTOM )
{
- floatToFixed_arrL( args.outConfig.outSetupCustom.azimuth, args.outConfig.outSetupCustom.azimuth_fx, Q22, IVAS_MAX_OUTPUT_CHANNELS );
- floatToFixed_arrL( args.outConfig.outSetupCustom.elevation, args.outConfig.outSetupCustom.elevation_fx, Q22, IVAS_MAX_OUTPUT_CHANNELS );
+ floatToFixed_arrL_app( args.outConfig.outSetupCustom.azimuth, args.outConfig.outSetupCustom.azimuth_fx, Q22, IVAS_MAX_OUTPUT_CHANNELS );
+ floatToFixed_arrL_app( args.outConfig.outSetupCustom.elevation, args.outConfig.outSetupCustom.elevation_fx, Q22, IVAS_MAX_OUTPUT_CHANNELS );
if ( ( error = IVAS_REND_ConfigureCustomOutputLoudspeakerLayout( hIvasRend, args.outConfig.outSetupCustom ) ) != IVAS_ERR_OK )
{
fprintf( stderr, "Error in IVAS_REND_ConfigureCustomOutputLoudspeakerLayout(): %s\n", ivas_error_to_string( error ) );
@@ -1018,8 +1062,8 @@ int main(
if ( args.inConfig.multiChannelBuses[i].audioConfig == IVAS_AUDIO_CONFIG_LS_CUSTOM )
{
- floatToFixed_arrL( args.inConfig.inSetupCustom.azimuth, args.inConfig.inSetupCustom.azimuth_fx, Q22, IVAS_MAX_OUTPUT_CHANNELS );
- floatToFixed_arrL( args.inConfig.inSetupCustom.elevation, args.inConfig.inSetupCustom.elevation_fx, Q22, IVAS_MAX_OUTPUT_CHANNELS );
+ floatToFixed_arrL_app( args.inConfig.inSetupCustom.azimuth, args.inConfig.inSetupCustom.azimuth_fx, Q22, IVAS_MAX_OUTPUT_CHANNELS );
+ floatToFixed_arrL_app( args.inConfig.inSetupCustom.elevation, args.inConfig.inSetupCustom.elevation_fx, Q22, IVAS_MAX_OUTPUT_CHANNELS );
if ( ( error = IVAS_REND_ConfigureCustomInputLoudspeakerLayout( hIvasRend, mcIds[i], args.inConfig.inSetupCustom ) ) != IVAS_ERR_OK )
{
fprintf( stderr, "Error in IVAS_REND_ConfigureCustomInputLoudspeakerLayout(): %s\n", ivas_error_to_string( error ) );
diff --git a/lib_com/options.h b/lib_com/options.h
index 288145122a4dc6996dcc58c7974d23ea992fa457..9d5ca2e4cdd6cff0cf8d42e162594057d49f16fe 100644
--- a/lib_com/options.h
+++ b/lib_com/options.h
@@ -41,10 +41,6 @@
/* ################### Start DEBUGGING switches ######################## */
-#ifdef _MSC_VER
-#pragma warning(disable:4310) /* cast truncates constant value this affects mainly constants tables*/
-#endif
-
/*#define DEBUGGING*/ /* Allows debugging message to be printed out during runtime */
#ifdef DEBUGGING
#define DEBUG_MODE_INFO /* Define to output most important parameters to the subdirectory "res/" */
diff --git a/lib_com/stat_com.h b/lib_com/stat_com.h
index 45a16dc1a5599c0458bbfca530a9fe68926a6f77..26b2192170316329dbdeb6595bd7dedca0eeccb3 100644
--- a/lib_com/stat_com.h
+++ b/lib_com/stat_com.h
@@ -102,6 +102,13 @@ typedef struct
} ARCODEC, *PARCODEC;
+struct dispMem_fx
+{
+ Word16 prev_state; /*Q0 */
+ Word32 prev_gain_code; /*Q16 */
+ Word16 prev_gain_pit[6]; /*Q14 */
+};
+
/*---------------------------------------------------------------*
* ACELP Encoder/Decoder Static RAM *
*---------------------------------------------------------------*/
diff --git a/lib_dec/stat_dec.h b/lib_dec/stat_dec.h
index 5c7f894b9023e647248b2175daa811f60a210092..3e82d8c0654ec48b3d6190216d92a45d1f26f4bd 100644
--- a/lib_dec/stat_dec.h
+++ b/lib_dec/stat_dec.h
@@ -1258,12 +1258,6 @@ typedef struct amrwb_io_dec_structure
} AMRWB_IO_DEC_DATA, *AMRWB_IO_DEC_HANDLE;
-struct dispMem_fx
-{
- Word16 prev_state; /*Q0 */
- Word32 prev_gain_code; /*Q16 */
- Word16 prev_gain_pit[6]; /*Q14 */
-};
/*----------------------------------------------------------------------------------*
*
diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h
index 0fa9aeb88a40a1e6a6ebf0d620aaacab6abb59ae..78fef6e22b1578bb4e8207e0357e5e93908a83b9 100644
--- a/lib_enc/stat_enc.h
+++ b/lib_enc/stat_enc.h
@@ -43,7 +43,7 @@
#include "stat_com.h"
#include "cnst.h"
#include "ivas_cnst.h"
-#include "stat_dec.h" /* Compilation switches */
+
/*------------------------------------------------------------------------------------------*
* Indice