private void PerformAcDcEncoding() { _dcYValues = AcDcEncoder.GetAllDCs(_image.GetChannel1()); GetDcCbCrValues(); _acYValues = AcDcEncoder.GetAllACs(_image.GetChannel1()); GetAcCbCrValues(); }
private void WriteAcDcEncodedBlock(ColorChannel channel, int xOfChannel, int yOfChannel, Dictionary <int, CodeWord> dcCodeBook, Dictionary <int, CodeWord> acCodeBook) { DcCategoryEncodedPair dc = AcDcEncoder.CalculateDifferenceDc(channel, channel .GetPlainIndexOfBlock( xOfChannel, yOfChannel)); List <AcRunlengthEncodedPair> acRunLengthEncodedPairs = AcDcEncoder.EncodeRunlength(Util.ZigzagSort(channel.GetBlock(xOfChannel, yOfChannel))); List <AcCategoryEncodedPair> acCategoryEncodedPairs = AcDcEncoder.EncodeCategoriesAc( acRunLengthEncodedPairs); AcDcEncoder.WriteDcCoefficient(BitStream, dc, dcCodeBook); AcDcEncoder.WriteAcCoefficients(BitStream, acCategoryEncodedPairs, acCodeBook); }
private void GetAcCbCrValues() { _acCbValues = AcDcEncoder.GetAllACs(_image.GetChannel2()); _acCrValues = AcDcEncoder.GetAllACs(_image.GetChannel3()); }
private void GetDcCbCrValues() { _dcCbValues = AcDcEncoder.GetAllDCs(_image.GetChannel2()); _dcCrValues = AcDcEncoder.GetAllDCs(_image.GetChannel3()); }