090f4d4b5a
Adds support for raw yuv inputs in 422/444 sampling for use in profiles 1 and 3. New options added to vpxenc are: --i422 and --i444, which are to be used in conjunction with --width, --height, and --fps for proper raw yuv handling. A new option is added to vpxdec: --rawvideo, which enforces raw yuv video output for the bit-stream decoded irrespective of 420, 422 or 444 sampling. The existing options --i420 and --yv12 are specialized for use only for 420 content. Change-Id: I2e3028380709afa673bf2e2c25ad5e271a626055
64 lines
1.4 KiB
C
64 lines
1.4 KiB
C
/*
|
|
* 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"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
enum TestDecodeFatality {
|
|
TEST_DECODE_OFF,
|
|
TEST_DECODE_FATAL,
|
|
TEST_DECODE_WARN,
|
|
};
|
|
|
|
typedef enum {
|
|
I420, // 4:2:0 8+ bit-depth
|
|
I422, // 4:2:2 8+ bit-depth
|
|
I444, // 4:4:4 8+ bit-depth
|
|
YV12, // 4:2:0 with uv flipped, only 8-bit depth
|
|
} ColorInputType;
|
|
|
|
struct VpxInterface;
|
|
|
|
/* Configuration elements common to all streams. */
|
|
struct VpxEncoderConfig {
|
|
const struct VpxInterface *codec;
|
|
int passes;
|
|
int pass;
|
|
int usage;
|
|
int deadline;
|
|
ColorInputType color_type;
|
|
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;
|
|
int experimental_bitstream;
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|
|
|
|
#endif // VPXENC_H_
|