2013-11-22 04:46:40 +04:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2013 The WebM project authors. All Rights Reserved.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by a BSD-style license
|
|
|
|
* that can be found in the LICENSE file in the root of the source
|
|
|
|
* tree. An additional intellectual property rights grant can be found
|
|
|
|
* in the file PATENTS. All contributing project authors may
|
|
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
|
|
*/
|
|
|
|
#ifndef VPXENC_H_
|
|
|
|
#define VPXENC_H_
|
|
|
|
|
|
|
|
#include "vpx/vpx_encoder.h"
|
|
|
|
|
2014-01-19 00:16:11 +04:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2013-11-22 04:46:40 +04:00
|
|
|
enum TestDecodeFatality {
|
|
|
|
TEST_DECODE_OFF,
|
|
|
|
TEST_DECODE_FATAL,
|
|
|
|
TEST_DECODE_WARN,
|
|
|
|
};
|
|
|
|
|
2014-07-16 20:37:13 +04:00
|
|
|
typedef enum {
|
|
|
|
I420, // 4:2:0 8+ bit-depth
|
|
|
|
I422, // 4:2:2 8+ bit-depth
|
|
|
|
I444, // 4:4:4 8+ bit-depth
|
2014-10-01 23:17:37 +04:00
|
|
|
I440, // 4:4:0 8+ bit-depth
|
2014-07-16 20:37:13 +04:00
|
|
|
YV12, // 4:2:0 with uv flipped, only 8-bit depth
|
|
|
|
} ColorInputType;
|
|
|
|
|
2014-02-12 09:12:23 +04:00
|
|
|
struct VpxInterface;
|
|
|
|
|
2013-11-22 04:46:40 +04:00
|
|
|
/* Configuration elements common to all streams. */
|
|
|
|
struct VpxEncoderConfig {
|
2014-02-12 09:12:23 +04:00
|
|
|
const struct VpxInterface *codec;
|
2013-11-22 04:46:40 +04:00
|
|
|
int passes;
|
|
|
|
int pass;
|
|
|
|
int usage;
|
|
|
|
int deadline;
|
2014-07-16 20:37:13 +04:00
|
|
|
ColorInputType color_type;
|
2013-11-22 04:46:40 +04:00
|
|
|
int quiet;
|
|
|
|
int verbose;
|
|
|
|
int limit;
|
|
|
|
int skip_frames;
|
|
|
|
int show_psnr;
|
|
|
|
enum TestDecodeFatality test_decode;
|
|
|
|
int have_framerate;
|
|
|
|
struct vpx_rational framerate;
|
|
|
|
int out_part;
|
|
|
|
int debug;
|
|
|
|
int show_q_hist_buckets;
|
|
|
|
int show_rate_hist_buckets;
|
|
|
|
int disable_warnings;
|
|
|
|
int disable_warning_prompt;
|
2014-02-21 22:52:09 +04:00
|
|
|
int experimental_bitstream;
|
2013-11-22 04:46:40 +04:00
|
|
|
};
|
|
|
|
|
2014-01-19 00:16:11 +04:00
|
|
|
#ifdef __cplusplus
|
|
|
|
} // extern "C"
|
|
|
|
#endif
|
|
|
|
|
2013-11-22 04:46:40 +04:00
|
|
|
#endif // VPXENC_H_
|