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