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_codec.h" 15 #include "aom/aom_encoder.h" 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 enum TestDecodeFatality { 22 TEST_DECODE_OFF, 23 TEST_DECODE_FATAL, 24 TEST_DECODE_WARN, 25 }; 26 27 typedef enum { 28 I420, // 4:2:0 8+ bit-depth 29 I422, // 4:2:2 8+ bit-depth 30 I444, // 4:4:4 8+ bit-depth 31 YV12, // 4:2:0 with uv flipped, only 8-bit depth 32 } ColorInputType; 33 34 struct AvxInterface; 35 36 /* Configuration elements common to all streams. */ 37 struct AvxEncoderConfig { 38 const struct AvxInterface *codec; 39 int passes; 40 int pass; 41 unsigned int usage; 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 aom_rational framerate; 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 aom_chroma_sample_position_t csp; 58 cfg_options_t encoder_config; 59 }; 60 61 #ifdef __cplusplus 62 } // extern "C" 63 #endif 64 65 #endif // AOM_APPS_AOMENC_H_ 66