; TFO-In-620-08.txt for C-Code Version 6.2.0 and upwards
; ===================================================================
; This is a Input File to support the testing and evaluation 
; of the TFO Decision Algorithm, as specified in TS 28.062
; and as coded in C in version 6.2.0 and upwards.
;
; It is valid for the C-References after 
; REL-4.6.0, REL-5.6.0 and REL-6.1.0.
; Note: The versions before are not compatible to this input format.
;
; Note: All lines beginning with ";" are comment lines and are
; just reprinted in the output, but not processed.
; Please note to start these comment lines with a single ";" !
;
; Example for use:
;
; DOS> TFO-620.exe  <TFO-In.txt  >TFO-Out2.txt
;
; ===================================================================
; First test all combinations of Codec Types in short form 
; with one "Preferred Configuration" parameter.
; Note: for the earlier Codec Types (GSM_FR, GSM_HR, GSM_EFR)
; this Configuration parameter is only a dummy - but must be given.
; ===================================================================
;
  GSM_FR     1	GSM_FR     1
  GSM_HR     1	GSM_HR     1
  GSM_EFR    1	GSM_EFR    1
;
; and one example for mismatch:
;
  GSM_FR     1	GSM_HR     1
;
; ===================================================================
; For the AMR Family: Preferred Configuration 1 
; is the most important and the most recommended one.
; For most AMR Codec Types it contains: 12.2 - 7.4 - 5.9 - 4.75 
; only HR_AMR misses the 12.2:                 7.4 - 5.9 - 4.75.
; ===================================================================
;
  FR_AMR     1	FR_AMR     1
  HR_AMR     1	HR_AMR     1
  OHR_AMR    1	OHR_AMR    1
  UMTS_AMR_2 1	UMTS_AMR_2 1
;
  FR_AMR     1	HR_AMR     1
;
; ===================================================================
; The case with UMTS_AMR.
; UMTS_AMR is not compatible to any other AMR Codec Type, except to
; UMTS_AMR_2, and even then only in single-mode Configurations,
; where NB-Configuration 7 is the only recommended one.
; ===================================================================
;
  UMTS_AMR 1	UMTS_AMR 1
;
  UMTS_AMR_2 1	UMTS_AMR   1
  UMTS_AMR_2 0	UMTS_AMR   0
  UMTS_AMR_2 7	UMTS_AMR   7
;
; ===================================================================
; Some cases with unexpected results, but these are standard conform!
; ===================================================================
;
  UMTS_AMR xxxxxxxx xxxxxxxx 8 y  UMTS_AMR_2 xxxxxxxx xxxxxxxx 8 y
  UMTS_AMR xxxxxxxx xxxxxxxx 8 y  UMTS_AMR_2 xx------ xx------ 3 y  
  UMTS_AMR xxxxxxxx xxxxxxxx 8 y  UMTS_AMR_2 x--x-x-x x--x-x-x 4 y
;
; ===================================================================
; Now tests with the flexible Preferred Configurations: 11, 13, 15.
; They are also tested against fixed Preferred Configuration 1.
; The FR_AMR is taken as synonym for all AMR Codec Types
; ===================================================================
;
  FR_AMR     1	FR_AMR     11
  FR_AMR     1	FR_AMR     13
  FR_AMR     1	FR_AMR     15
  FR_AMR     11	FR_AMR     13
  FR_AMR     11	FR_AMR     15
  FR_AMR     13	FR_AMR     15
;
; ===================================================================
; Preferred Configuration 1 - Preferred Configurations 10, 12, 14
; ===================================================================
;
  FR_AMR     1	FR_AMR     10
  FR_AMR     1	FR_AMR     12
  FR_AMR     1	FR_AMR     14
  FR_AMR     10	FR_AMR     12
  FR_AMR     10	FR_AMR     14
  FR_AMR     12	FR_AMR     14
;
; ===================================================================
; For the AMR-WB Family: WB-Configuration 1 is most important.
; It contains all three lower Modes and allows Modification.
; Note: for FR_AMR-WB and OHR_AMR-WB Configuration 0 and 1 
; are treated identically, because these do not support any 
; other Configuration and therefore also no Modification.
; ===================================================================
;
    FR_AMR-WB 0	  FR_AMR-WB 1
   OHR_AMR-WB 0	 OHR_AMR-WB 1
   OFR_AMR-WB 0	 OFR_AMR-WB 1
  UMTS_AMR-WB 0	UMTS_AMR-WB 1
;
; ===================================================================
; Some tests with combinations of WB-Configurations
; here only the FR_AMR-WB  is used and represents also OHR_AMR-WB,
; and  only the OFR_AMR-WB is used and represents also UMTS_AMR-WB;
; the exchange of local and distant does not bring any new insights.
; ===================================================================
;
  FR_AMR-WB    0	OFR_AMR-WB  1
  FR_AMR-WB    0	OFR_AMR-WB  2
  FR_AMR-WB    0	OFR_AMR-WB  3
  FR_AMR-WB    0	OFR_AMR-WB  4
  FR_AMR-WB    0	OFR_AMR-WB  5
;
  OFR_AMR-WB   1	OFR_AMR-WB  1
  OFR_AMR-WB   1	OFR_AMR-WB  2
  OFR_AMR-WB   1	OFR_AMR-WB  3
  OFR_AMR-WB   1	OFR_AMR-WB  4
  OFR_AMR-WB   1	OFR_AMR-WB  5
;
  OFR_AMR-WB   2	OFR_AMR-WB  4
  OFR_AMR-WB   3	OFR_AMR-WB  4
  OFR_AMR-WB   2	OFR_AMR-WB  5
  OFR_AMR-WB   3	OFR_AMR-WB  5
  OFR_AMR-WB   4	OFR_AMR-WB  5
  OFR_AMR-WB   5	OFR_AMR-WB  5
;
; ===================================================================
; Now the most complex: tests with the long input format.
; This is only defined for the AMR Family, not for AMR-WB.
; ===================================================================
; L_Type    ACS      SCS      # OM  D_Type     ACS      SCS      # OM
;
  FR_AMR    x--x-x-x x--x-x-x 4 n   FR_AMR     x--x-x-x x--x-x-x 4 n
  FR_AMR    x--x-x-x x--x-x-x 4 n   HR_AMR     ---x-x-x ---x-x-x 3 n
  FR_AMR    x--x-x-x x--x-x-x 4 n   OHR_AMR    x--x-x-x x--x-x-x 4 n
  FR_AMR    x--x-x-x x--x-x-x 4 n   UMTS_AMR_2 x--x-x-x x--x-x-x 4 n
;
; ===================================================================
; Now two tests, where the TFO Decision is "reasonable": look to OM!
; L_Type    ACS      SCS      # OM  D_Type     ACS      SCS      # OM
; ===================================================================
;
  FR_AMR    x------- xxxxxxxx 1 y   FR_AMR     -x------ xxxxxxxx 1 n
  FR_AMR    x------- xxxxxxxx 1 n   FR_AMR     -x------ xxxxxxxx 1 y
; ===================================================================
; An here a test with a "strange" result: but this is standard!
; ===================================================================
;
  FR_AMR    x------- xxxxxxxx 1 y   FR_AMR     -x------ xxxxxxxx 1 y
;
; ===================================================================
; Now some test with the combination of short form and long form.
; Also this is only possible for AMR.
;
; Here it can happen, that 
; a short form (Preferred Configuration) on one side, and
; a long form Configuration on the other side
; lead to a TFO Decision and a Configuration result, 
; which is NOT within the class of <Preferred Configurations> !
;
; ===================================================================
; L_Type Pref_Con D_Type      ACS      SCS      # OM
;
  FR_AMR 1 		FR_AMR      x--x-x-x x--x-x-x 4 n
  FR_AMR 1 		HR_AMR      ---xxx-x ---xxxxx 4 y
  FR_AMR 1 		FR_AMR      x-x--x-x xxxxxxxx 4 y
  FR_AMR 1 		FR_AMR      -x-x-x-x xxxxxxxx 4 y
  FR_AMR 11 	FR_AMR      x--x---x xxxxxxxx 3 n
  FR_AMR 13 	FR_AMR      x--x---x xxxxxxxx 3 n
  FR_AMR 15 	FR_AMR      x--x---x xxxxxxxx 3 n
;
; ===================================================================
; finally a test for FR_AMR - HR_AMR matching with 7.95 !
; Please consider that HR_AMR is defined for TRAAU 8k and TRAU 16k formats.
; Although it will most likely not be very common to use TRAU 16k for HR_AMR
; it is nevertheless defined.
; Only then the AMR 7.95 mode can be included in the HR_AMR Configuration.
; But then TFO is possible - with TFO 16k frame format.
;
  FR_AMR    x-x--x-x x-x--x-x 4 n   HR_AMR     --x--x-x --x--x-x 3 n
  FR_AMR    14                      HR_AMR     --x--x-x --x--x-x 3 n
;
e xit