1 /* 2 * Copyright (c) 2016, Alliance for Open Media. All rights reserved 3 * 4 * This source code is subject to the terms of the BSD 2 Clause License and 5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License 6 * was not distributed with this source code in the LICENSE file, you can 7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open 8 * Media Patent License 1.0 was not distributed with this source code in the 9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent. 10 */ 11 #ifndef AOM_APPS_AOMENC_H_ 12 #define AOM_APPS_AOMENC_H_ 13 14 #include "aom/aom_encoder.h" 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 enum TestDecodeFatality { 21 TEST_DECODE_OFF, 22 TEST_DECODE_FATAL, 23 TEST_DECODE_WARN, 24 }; 25 26 typedef enum { 27 I420, // 4:2:0 8+ bit-depth 28 I422, // 4:2:2 8+ bit-depth 29 I444, // 4:4:4 8+ bit-depth 30 YV12, // 4:2:0 with uv flipped, only 8-bit depth 31 } ColorInputType; 32 33 struct AvxInterface; 34 35 /* Configuration elements common to all streams. */ 36 struct AvxEncoderConfig { 37 const struct AvxInterface *codec; 38 int passes; 39 int pass; 40 int usage; 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 aom_rational framerate; 50 int debug; 51 int show_q_hist_buckets; 52 int show_rate_hist_buckets; 53 int disable_warnings; 54 int disable_warning_prompt; 55 int experimental_bitstream; 56 }; 57 58 #ifdef __cplusplus 59 } // extern "C" 60 #endif 61 62 #endif // AOM_APPS_AOMENC_H_ 63