Exemplo n.º 1
0
Arquivo: webp.cs Projeto: soywiz/nwebp
        //------------------------------------------------------------------------------
        // Advance decoding API
        int WebPInitDecoderConfigInternal(WebPDecoderConfig* config,
										  int version)
        {
            if (version != WEBP_DECODER_ABI_VERSION) {
            return 0;   // version mismatch
              }
              if (config == null) {
            return 0;
              }
              memset(config, 0, sizeof(*config));
              DefaultFeatures(&config.input);
              WebPInitDecBuffer(&config.output);
              return 1;
        }
Exemplo n.º 2
0
Arquivo: webp.cs Projeto: soywiz/nwebp
        VP8StatusCode WebPDecode(byte* data, uint data_size,
								 WebPDecoderConfig* config)
        {
            WebPDecParams params;
              VP8StatusCode status;

              if (config == null) {
            return VP8_STATUS_INVALID_PARAM;
              }

              status = GetFeatures(data, data_size, &config.input);
              if (status != VP8_STATUS_OK) {
            if (status == VP8_STATUS_NOT_ENOUGH_DATA) {
              return VP8_STATUS_BITSTREAM_ERROR;  // Not-enough-data treated as error.
            }
            return status;
              }

              WebPResetDecParams(&params);
              params.output = &config.output;
              params.options = &config.options;
              status = DecodeInto(data, data_size, &params);

              return status;
        }