diffusion-rs-sys 0.1.20

Rust bindings for stable-diffusion.cpp (FFI bindings)
Documentation
// Copyright 2015 Google Inc. All Rights Reserved.
//
// Use of this source code is governed by a BSD-style license
// that can be found in the COPYING file in the root of the source
// tree. An additional intellectual property rights grant can be found
// in the file PATENTS. All contributing project authors may
// be found in the AUTHORS file in the root of the source tree.
// -----------------------------------------------------------------------------
//
// Definitions and macros common to encoding and decoding
//
// Author: Skal (pascal.massimino@gmail.com)

#ifndef WEBP_DEC_COMMON_DEC_H_
#define WEBP_DEC_COMMON_DEC_H_

// intra prediction modes
enum {
  B_DC_PRED = 0,  // 4x4 modes
  B_TM_PRED = 1,
  B_VE_PRED = 2,
  B_HE_PRED = 3,
  B_RD_PRED = 4,
  B_VR_PRED = 5,
  B_LD_PRED = 6,
  B_VL_PRED = 7,
  B_HD_PRED = 8,
  B_HU_PRED = 9,
  NUM_BMODES = B_HU_PRED + 1 - B_DC_PRED,  // = 10

  // Luma16 or UV modes
  DC_PRED = B_DC_PRED,
  V_PRED = B_VE_PRED,
  H_PRED = B_HE_PRED,
  TM_PRED = B_TM_PRED,
  B_PRED = NUM_BMODES,  // refined I4x4 mode
  NUM_PRED_MODES = 4,

  // special modes
  B_DC_PRED_NOTOP = 4,
  B_DC_PRED_NOLEFT = 5,
  B_DC_PRED_NOTOPLEFT = 6,
  NUM_B_DC_MODES = 7
};

enum {
  MB_FEATURE_TREE_PROBS = 3,
  NUM_MB_SEGMENTS = 4,
  NUM_REF_LF_DELTAS = 4,
  NUM_MODE_LF_DELTAS = 4,  // I4x4, ZERO, *, SPLIT
  MAX_NUM_PARTITIONS = 8,
  // Probabilities
  NUM_TYPES = 4,  // 0: i16-AC,  1: i16-DC,  2:chroma-AC,  3:i4-AC
  NUM_BANDS = 8,
  NUM_CTX = 3,
  NUM_PROBAS = 11
};

// Check that webp_csp_mode is within the bounds of WEBP_CSP_MODE.
int IsValidColorspace(int webp_csp_mode);

// Lossless: maximum number of histogram images (sub-blocks). This is defined
// for encoding efficiency, the standard allows for more.
#define MAX_HUFF_IMAGE_SIZE 2600

#endif  // WEBP_DEC_COMMON_DEC_H_