aomenc.h 1.53 KB
Newer Older
1
/*
2
 * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3
 *
4 5 6 7 8 9
 * This source code is subject to the terms of the BSD 2 Clause License and
 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
 * was not distributed with this source code in the LICENSE file, you can
 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
 * Media Patent License 1.0 was not distributed with this source code in the
 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10 11 12 13
 */
#ifndef VPXENC_H_
#define VPXENC_H_

Adrian Grange's avatar
Adrian Grange committed
14
#include "aom/aom_encoder.h"
15

16 17 18 19
#ifdef __cplusplus
extern "C" {
#endif

20 21 22 23 24 25
enum TestDecodeFatality {
  TEST_DECODE_OFF,
  TEST_DECODE_FATAL,
  TEST_DECODE_WARN,
};

26 27 28 29
typedef enum {
  I420,  // 4:2:0 8+ bit-depth
  I422,  // 4:2:2 8+ bit-depth
  I444,  // 4:4:4 8+ bit-depth
Deb Mukherjee's avatar
Deb Mukherjee committed
30
  I440,  // 4:4:0 8+ bit-depth
31 32 33
  YV12,  // 4:2:0 with uv flipped, only 8-bit depth
} ColorInputType;

34 35
struct VpxInterface;

36 37
/* Configuration elements common to all streams. */
struct VpxEncoderConfig {
38
  const struct VpxInterface *codec;
39 40 41 42
  int passes;
  int pass;
  int usage;
  int deadline;
43
  ColorInputType color_type;
44 45 46 47 48 49 50
  int quiet;
  int verbose;
  int limit;
  int skip_frames;
  int show_psnr;
  enum TestDecodeFatality test_decode;
  int have_framerate;
Adrian Grange's avatar
Adrian Grange committed
51
  struct aom_rational framerate;
52 53 54 55 56 57
  int out_part;
  int debug;
  int show_q_hist_buckets;
  int show_rate_hist_buckets;
  int disable_warnings;
  int disable_warning_prompt;
58
  int experimental_bitstream;
59 60
};

61 62 63 64
#ifdef __cplusplus
}  // extern "C"
#endif

65
#endif  // VPXENC_H_