unsigned int num_part=4;
num_part=size/255;
if (num_part<4)num_part=4;
char *buf_pr= new char [16*num_part];
while (num_part>0)
{
bool loop= true ;
sour->move(address); //идём в секцию мап
for ( int i=0;i<239;i++)
for ( int ii=0;ii<num_part;ii++)
re[i+ii*239]=sour->getUChar();
for ( int i=0;i<16;i++)
for ( int ii=0;ii<num_part;ii++)
buf_pr[i+ii*16]=sour->getUChar();
Red_Solomon red;
for ( int ii=0;ii<num_part;ii++)
{
if (red.decode(re+239*ii,buf_pr+16*ii))
{
loop= false ;
break ;
}
}
if (loop) return true ;
num_part--;
}
return false ;
Red_Solomon.cpp
Description: Binary data
Red_Solomon.h
Description: Binary data
