Home | History | Annotate | Download | only in libvpx
      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