Blame src/dec/alphai_dec.h

Packit 9c6abc
// Copyright 2013 Google Inc. All Rights Reserved.
Packit 9c6abc
//
Packit 9c6abc
// Use of this source code is governed by a BSD-style license
Packit 9c6abc
// that can be found in the COPYING file in the root of the source
Packit 9c6abc
// tree. An additional intellectual property rights grant can be found
Packit 9c6abc
// in the file PATENTS. All contributing project authors may
Packit 9c6abc
// be found in the AUTHORS file in the root of the source tree.
Packit 9c6abc
// -----------------------------------------------------------------------------
Packit 9c6abc
//
Packit 9c6abc
// Alpha decoder: internal header.
Packit 9c6abc
//
Packit 9c6abc
// Author: Urvang (urvang@google.com)
Packit 9c6abc
Packit 9c6abc
#ifndef WEBP_DEC_ALPHAI_DEC_H_
Packit 9c6abc
#define WEBP_DEC_ALPHAI_DEC_H_
Packit 9c6abc
Packit 9c6abc
#include "src/dec/webpi_dec.h"
Packit 9c6abc
#include "src/utils/filters_utils.h"
Packit 9c6abc
Packit 9c6abc
#ifdef __cplusplus
Packit 9c6abc
extern "C" {
Packit 9c6abc
#endif
Packit 9c6abc
Packit 9c6abc
struct VP8LDecoder;  // Defined in dec/vp8li.h.
Packit 9c6abc
Packit 9c6abc
typedef struct ALPHDecoder ALPHDecoder;
Packit 9c6abc
struct ALPHDecoder {
Packit 9c6abc
  int width_;
Packit 9c6abc
  int height_;
Packit 9c6abc
  int method_;
Packit 9c6abc
  WEBP_FILTER_TYPE filter_;
Packit 9c6abc
  int pre_processing_;
Packit 9c6abc
  struct VP8LDecoder* vp8l_dec_;
Packit 9c6abc
  VP8Io io_;
Packit 9c6abc
  int use_8b_decode_;  // Although alpha channel requires only 1 byte per
Packit 9c6abc
                       // pixel, sometimes VP8LDecoder may need to allocate
Packit 9c6abc
                       // 4 bytes per pixel internally during decode.
Packit 9c6abc
  uint8_t* output_;
Packit 9c6abc
  const uint8_t* prev_line_;   // last output row (or NULL)
Packit 9c6abc
};
Packit 9c6abc
Packit 9c6abc
//------------------------------------------------------------------------------
Packit 9c6abc
// internal functions. Not public.
Packit 9c6abc
Packit 9c6abc
// Deallocate memory associated to dec->alpha_plane_ decoding
Packit 9c6abc
void WebPDeallocateAlphaMemory(VP8Decoder* const dec);
Packit 9c6abc
Packit 9c6abc
//------------------------------------------------------------------------------
Packit 9c6abc
Packit 9c6abc
#ifdef __cplusplus
Packit 9c6abc
}    // extern "C"
Packit 9c6abc
#endif
Packit 9c6abc
Packit 9c6abc
#endif  /* WEBP_DEC_ALPHAI_DEC_H_ */