vpx/vpxenc.h
Deb Mukherjee 090f4d4b5a Adds support for raw yuv files for 422/444
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
2014-07-16 09:44:30 -07:00

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_