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 #include "av1/arg_defs.h" 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 typedef enum { 23 I420, // 4:2:0 8+ bit-depth 24 I422, // 4:2:2 8+ bit-depth 25 I444, // 4:4:4 8+ bit-depth 26 YV12, // 4:2:0 with uv flipped, only 8-bit depth 27 NV12, // 4:2:0 with uv interleaved, only 8-bit depth 28 } ColorInputType; 29 30 /* Configuration elements common to all streams. */ 31 struct AvxEncoderConfig { 32 aom_codec_iface_t *codec; 33 int passes; 34 int pass; 35 unsigned int usage; 36 ColorInputType color_type; 37 int quiet; 38 int verbose; 39 int limit; 40 int skip_frames; 41 int show_psnr; 42 enum TestDecodeFatality test_decode; 43 int have_framerate; 44 struct aom_rational framerate; 45 int debug; 46 int show_q_hist_buckets; 47 int show_rate_hist_buckets; 48 int disable_warnings; 49 int disable_warning_prompt; 50 int experimental_bitstream; 51 aom_chroma_sample_position_t csp; 52 cfg_options_t encoder_config; 53 }; 54 55 #ifdef __cplusplus 56 } // extern "C" 57 #endif 58 59 #endif // AOM_APPS_AOMENC_H_ 60