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 16 extern "C" { 17 #endif 18 19 enum TestDecodeFatality { 20 TEST_DECODE_OFF, 21 TEST_DECODE_FATAL, 22 TEST_DECODE_WARN, 23 }; 24 25 typedef 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 I440, // 4:4:0 8+ bit-depth 30 YV12, // 4:2:0 with uv flipped, only 8-bit depth 31 } ColorInputType; 32 33 struct VpxInterface; 34 35 /* Configuration elements common to all streams. */ 36 struct VpxEncoderConfig { 37 const struct VpxInterface *codec; 38 int passes; 39 int pass; 40 int usage; 41 int deadline; 42 ColorInputType color_type; 43 int quiet; 44 int verbose; 45 int limit; 46 int skip_frames; 47 int show_psnr; 48 enum TestDecodeFatality test_decode; 49 int have_framerate; 50 struct vpx_rational framerate; 51 int out_part; 52 int debug; 53 int show_q_hist_buckets; 54 int show_rate_hist_buckets; 55 int disable_warnings; 56 int disable_warning_prompt; 57 int experimental_bitstream; 58 }; 59 60 #ifdef __cplusplus 61 } // extern "C" 62 #endif 63 64 #endif // VPXENC_H_ 65