Ejemplo n.º 1
0
        public CbgReader(Stream input, CbgMetaData info) : base(input, true)
        {
            m_info       = info;
            m_pixel_size = m_info.BPP / 8;
            Stride       = (int)info.Width * m_pixel_size;
            m_key        = m_info.Key;
            m_magic      = 0;
            switch (m_info.BPP)
            {
            case 32: Format = PixelFormats.Bgra32; break;

            case 24: Format = PixelFormats.Bgr24; break;

            case 8:  Format = PixelFormats.Gray8; break;

            case 16:
                if (2 == m_info.Version)
                {
                    throw new InvalidFormatException();
                }
                Format = PixelFormats.Bgr565;
                break;

            default: throw new InvalidFormatException();
            }
        }
Ejemplo n.º 2
0
        public ParallelCbgDecoder(CbgMetaData info, byte[] dct_data)
        {
            BPP    = info.BPP;
            Width  = ((int)info.Width + 7) & -8;
            Height = ((int)info.Height + 7) & -8;

            for (int i = 0; i < 0x80; ++i)
            {
                DCT[i >> 6, i & 0x3F] = dct_data[i] * DCT_Table[i & 0x3F];
            }
        }
Ejemplo n.º 3
0
        public ParallelCbgDecoder(CbgMetaData info, byte[] dct_data)
        {
            BPP = info.BPP;
            Width  = ((int)info.Width  + 7) & -8;
            Height = ((int)info.Height + 7) & -8;

            for (int i = 0; i < 0x80; ++i)
            {
                DCT[i >> 6, i & 0x3F] = dct_data[i] * DCT_Table[i & 0x3F];
            }
        }
Ejemplo n.º 4
0
 public CbgReader(Stream input, CbgMetaData info)
     : base(input, true)
 {
     m_info = info;
     m_pixel_size = m_info.BPP / 8;
     Stride = (int)info.Width * m_pixel_size;
     m_key = m_info.Key;
     m_magic = 0;
     switch (m_info.BPP)
     {
     case 32: Format = PixelFormats.Bgra32; break;
     case 24: Format = PixelFormats.Bgr24; break;
     case 8:  Format = PixelFormats.Gray8; break;
     case 16:
         if (2 == m_info.Version)
             throw new InvalidFormatException();
         Format = PixelFormats.Bgr565;
         break;
     default: throw new InvalidFormatException();
     }
 }