@@ -43,7 +43,7 @@ static int bit_map(unsigned char matrix[PARTITION_WIDTH_AM * BLKSZ * 8], int b,
4343static void interleaver_ma1 (decode_t * st )
4444{
4545 int b , k , p ;
46- for (int n = 0 ; n < 18000 ; n ++ )
46+ for (int n = 0 ; n < BL_LENGTH ; n ++ )
4747 {
4848 b = n /2250 ;
4949 k = (n + n /750 + 1 ) % 750 ;
@@ -53,7 +53,7 @@ static void interleaver_ma1(decode_t *st)
5353 b = (3 * n + 3 ) % 8 ;
5454 k = (n + n /3000 + 3 ) % 750 ;
5555 p = 3 + (n % 3 );
56- st -> ml [DIVERSITY_DELAY_AM + n ] = bit_map (st -> buffer_pl , b , k , p );
56+ st -> ml [ML_LENGTH * DIVERSITY_DELAY_AM + n ] = bit_map (st -> buffer_pl , b , k , p );
5757
5858 b = n /2250 ;
5959 k = (n + n /750 ) % 750 ;
@@ -63,29 +63,29 @@ static void interleaver_ma1(decode_t *st)
6363 b = (3 * n ) % 8 ;
6464 k = (n + n /3000 + 2 ) % 750 ;
6565 p = 3 + (n % 3 );
66- st -> mu [DIVERSITY_DELAY_AM + n ] = bit_map (st -> buffer_pu , b , k , p );
66+ st -> mu [MU_LENGTH * DIVERSITY_DELAY_AM + n ] = bit_map (st -> buffer_pu , b , k , p );
6767 }
6868
6969 if (st -> input -> sync .psmi != SERVICE_MODE_MA3 )
7070 {
71- for (int n = 0 ; n < 12000 ; n ++ )
71+ for (int n = 0 ; n < EL_LENGTH ; n ++ )
7272 {
7373 b = (3 * n + n /3000 ) % 8 ;
7474 k = (n + (n /6000 )) % 750 ;
7575 p = n % 2 ;
76- st -> el [n ] = bit_map (st -> buffer_t , b , k , p );
76+ st -> el [EL_LENGTH * DIVERSITY_DELAY_AM + n ] = bit_map (st -> buffer_t , b , k , p );
7777 }
78- for (int n = 0 ; n < 24000 ; n ++ )
78+ for (int n = 0 ; n < EU_LENGTH ; n ++ )
7979 {
8080 b = (3 * n + n /3000 + 2 * (n /12000 )) % 8 ;
8181 k = (n + (n /6000 )) % 750 ;
8282 p = n % 4 ;
83- st -> eu [n ] = bit_map (st -> buffer_s , b , k , p );
83+ st -> eu [EU_LENGTH * DIVERSITY_DELAY_AM + n ] = bit_map (st -> buffer_s , b , k , p );
8484 }
8585 }
8686 else
8787 {
88- for (int n = 0 ; n < 18000 ; n ++ )
88+ for (int n = 0 ; n < EBL_LENGTH ; n ++ )
8989 {
9090 b = (3 * n + 3 ) % 8 ;
9191 k = (n + n /3000 + 3 ) % 750 ;
@@ -95,7 +95,7 @@ static void interleaver_ma1(decode_t *st)
9595 b = (3 * n + 3 ) % 8 ;
9696 k = (n + n /3000 + 3 ) % 750 ;
9797 p = 3 + (n % 3 );
98- st -> eml [DIVERSITY_DELAY_AM + n ] = bit_map (st -> buffer_t , b , k , p );
98+ st -> eml [EML_LENGTH * DIVERSITY_DELAY_AM + n ] = bit_map (st -> buffer_t , b , k , p );
9999
100100 b = (3 * n ) % 8 ;
101101 k = (n + n /3000 + 2 ) % 750 ;
@@ -105,7 +105,7 @@ static void interleaver_ma1(decode_t *st)
105105 b = (3 * n ) % 8 ;
106106 k = (n + n /3000 + 2 ) % 750 ;
107107 p = 3 + (n % 3 );
108- st -> emu [DIVERSITY_DELAY_AM + n ] = bit_map (st -> buffer_s , b , k , p );
108+ st -> emu [EMU_LENGTH * DIVERSITY_DELAY_AM + n ] = bit_map (st -> buffer_s , b , k , p );
109109 }
110110 }
111111
@@ -141,12 +141,17 @@ static void interleaver_ma1(decode_t *st)
141141 }
142142 }
143143
144- memmove (st -> ml , st -> ml + 18000 , DIVERSITY_DELAY_AM );
145- memmove (st -> mu , st -> mu + 18000 , DIVERSITY_DELAY_AM );
146- if (st -> input -> sync .psmi == SERVICE_MODE_MA3 )
144+ memmove (st -> ml , st -> ml + ML_LENGTH , ML_LENGTH * DIVERSITY_DELAY_AM );
145+ memmove (st -> mu , st -> mu + MU_LENGTH , MU_LENGTH * DIVERSITY_DELAY_AM );
146+ if (st -> input -> sync .psmi != SERVICE_MODE_MA3 )
147+ {
148+ memmove (st -> el , st -> el + EL_LENGTH , EL_LENGTH * DIVERSITY_DELAY_AM );
149+ memmove (st -> eu , st -> eu + EU_LENGTH , EU_LENGTH * DIVERSITY_DELAY_AM );
150+ }
151+ else
147152 {
148- memmove (st -> eml , st -> eml + 18000 , DIVERSITY_DELAY_AM );
149- memmove (st -> emu , st -> emu + 18000 , DIVERSITY_DELAY_AM );
153+ memmove (st -> eml , st -> eml + EML_LENGTH , EML_LENGTH * DIVERSITY_DELAY_AM );
154+ memmove (st -> emu , st -> emu + EMU_LENGTH , EMU_LENGTH * DIVERSITY_DELAY_AM );
150155 }
151156
152157 int offset = 0 ;
0 commit comments