text: /*
   *  Copyright (c) 2013 The WebM project authors. All Rights Reserved.
   *
   *  Use of this source code is governed by a BSD-style license
   *  that can be found in the LICENSE 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.
   */
  #ifndef VPX_VPXENC_H_
  #define VPX_VPXENC_H_
  
  #include "vpx/vpx_encoder.h"
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  enum TestDecodeFatality {
    TEST_DECODE_OFF,
    TEST_DECODE_FATAL,
    TEST_DECODE_WARN,
  };
  
  typedef enum {
    I420,  // 4:2:0 8+ bit-depth
    I422,  // 4:2:2 8+ bit-depth
    I444,  // 4:4:4 8+ bit-depth
    I440,  // 4:4:0 8+ bit-depth
    YV12,  // 4:2:0 with uv flipped, only 8-bit depth
  } ColorInputType;
  
  struct VpxInterface;
  
  /* Configuration elements common to all streams. */
  struct VpxEncoderConfig {
    const struct VpxInterface *codec;
    int passes;
    int pass;
    int usage;
    int deadline;
    ColorInputType color_type;
    int quiet;
    int verbose;
    int limit;
    int skip_frames;
    int show_psnr;
    enum TestDecodeFatality test_decode;
    int have_framerate;
    struct vpx_rational framerate;
    int out_part;
    int debug;
    int show_q_hist_buckets;
    int show_rate_hist_buckets;
    int disable_warnings;
    int disable_warning_prompt;
    int experimental_bitstream;
  };
  
  #ifdef __cplusplus
  }  // extern "C"
  #endif
  
  #endif  // VPX_VPXENC_H_
  