[MN-dev] [mndiff]: r152 - trunk/noe/ldpc.c

michael subversion at mplayerhq.hu
Fri Apr 24 21:28:48 CEST 2009


Author: michael
Date: Fri Apr 24 21:28:48 2009
New Revision: 152

Log:
Only reset the (nzc) elements of tab to 0 that have been set to 1 instead of all.
Idea by Yutaka Sawada.

Modified:
   trunk/noe/ldpc.c

Modified: trunk/noe/ldpc.c
==============================================================================
--- trunk/noe/ldpc.c	Sun Apr 19 17:02:27 2009	(r151)
+++ trunk/noe/ldpc.c	Fri Apr 24 21:28:48 2009	(r152)
@@ -123,6 +123,7 @@ LDPCContext *EXT(initLDPC)(int data_len,
     KISSState kiss;
     int i, j, y;
     int code_len= data_len + parity_len;
+    uint8_t tab[parity_len];
 
     if(nzc==0){
 #if SIZE==2
@@ -147,9 +148,8 @@ LDPCContext *EXT(initLDPC)(int data_len,
 //FIXME could we in theory need more space?
 
     memset(row, 0, sizeof(row));
+    memset(tab, 0, parity_len);
     for(i=0; i<code_len; i++){
-        uint8_t tab[parity_len];
-        memset(tab, 0, parity_len);
         for(j=0; j<nzc; j++){
             int minrow=999999;
 
@@ -173,6 +173,8 @@ LDPCContext *EXT(initLDPC)(int data_len,
             c->parity_matrix[i][1][j] = EXT(log)[get_random(&kiss)%(SIZE-1)+1];
             row[y]++;
         }
+        for(j=0; j<nzc; j++)
+            tab[ c->parity_matrix[i][0][j] ]= 0;
     }
 #if 0
     for(;;){



More information about the Mndiff-dev mailing list