1/*
2 *  Copyright (c) 2013 The WebM project authors. All Rights Reserved.
3 *
4 *  Use of this source code is governed by a BSD-style license
5 *  that can be found in the LICENSE file in the root of the source
6 *  tree. An additional intellectual property rights grant can be found
7 *  in the file PATENTS.  All contributing project authors may
8 *  be found in the AUTHORS file in the root of the source tree.
9 */
10#ifndef VPXENC_H_
11#define VPXENC_H_
12
13#include "vpx/vpx_encoder.h"
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19enum TestDecodeFatality {
20  TEST_DECODE_OFF,
21  TEST_DECODE_FATAL,
22  TEST_DECODE_WARN,
23};
24
25typedef enum {
26  I420,  // 4:2:0 8+ bit-depth
27  I422,  // 4:2:2 8+ bit-depth
28  I444,  // 4:4:4 8+ bit-depth
29  YV12,  // 4:2:0 with uv flipped, only 8-bit depth
30} ColorInputType;
31
32struct VpxInterface;
33
34/* Configuration elements common to all streams. */
35struct VpxEncoderConfig {
36  const struct VpxInterface *codec;
37  int passes;
38  int pass;
39  int usage;
40  int deadline;
41  ColorInputType color_type;
42  int quiet;
43  int verbose;
44  int limit;
45  int skip_frames;
46  int show_psnr;
47  enum TestDecodeFatality test_decode;
48  int have_framerate;
49  struct vpx_rational framerate;
50  int out_part;
51  int debug;
52  int show_q_hist_buckets;
53  int show_rate_hist_buckets;
54  int disable_warnings;
55  int disable_warning_prompt;
56  int experimental_bitstream;
57};
58
59#ifdef __cplusplus
60}  // extern "C"
61#endif
62
63#endif  // VPXENC_H_
64