T.j.
void JKvideocodec::store_bit(int bit)
{
if(bit) complete_byte |= w_mask;
w_mask >>= 1;
if (!w_mask)
{// zapsal se posledni bit
w_mask = 0x80; // inicializace indexu
*p_writedata++ = complete_byte; // ulozeni hotoveho bajtu
}
}
parameter je int bit aby to nemusel prekladac konvertovat furt zbytocne (stejne to ja testujem oproti 0 a ty tam davas integer z volajucej fcie v tom 2.cykle)bool JKvideocodec::next_bit()
{
if (!r_mask)
{// Nacist dalsi byte
one_byte = *p_readdata++;
r_mask = 0x80;
}
return (one_byte & r_mask);
}
O kolko sa to zrychlilo?P.S> v konstruktore resp. pri inicializacii pola pre zapis nezabudni nastavit w_mask = 0x80, complete_byte=0; p_writedata = buffer.
A pri inicializacii pola pre citanie nastavit r_mask = 0 a p_readdata = buffer.