Added plumbing for setting color space

Change-Id: If64052cc6e404abc8a64a889f42930d14fad21d3
This commit is contained in:
Yaowu Xu 2015-01-09 10:52:33 -08:00
Родитель ecbca31a1d
Коммит ce52b0f8d3
3 изменённых файлов: 6 добавлений и 2 удалений

Просмотреть файл

@ -607,7 +607,7 @@ static void init_config(struct VP9_COMP *cpi, VP9EncoderConfig *oxcf) {
#if CONFIG_VP9_HIGHBITDEPTH
cm->use_highbitdepth = oxcf->use_highbitdepth;
#endif
cm->color_space = UNKNOWN;
cm->color_space = oxcf->color_space;
cm->width = oxcf->width;
cm->height = oxcf->height;

Просмотреть файл

@ -231,6 +231,7 @@ typedef struct VP9EncoderConfig {
#if CONFIG_VP9_HIGHBITDEPTH
int use_highbitdepth;
#endif
COLOR_SPACE color_space;
} VP9EncoderConfig;
static INLINE int is_lossless_requested(const VP9EncoderConfig *cfg) {

Просмотреть файл

@ -41,6 +41,7 @@ struct vp9_extracfg {
AQ_MODE aq_mode;
unsigned int frame_periodic_boost;
vpx_bit_depth_t bit_depth;
COLOR_SPACE color_space;
vp9e_tune_content content;
};
@ -64,6 +65,7 @@ static struct vp9_extracfg default_extra_cfg = {
NO_AQ, // aq_mode
0, // frame_periodic_delta_q
VPX_BITS_8, // Bit depth
UNKNOWN, // Color Space
VP9E_CONTENT_DEFAULT // content
};
@ -294,7 +296,7 @@ static vpx_codec_err_t validate_config(vpx_codec_alg_priv_t *ctx,
cfg->g_bit_depth == VPX_BITS_8) {
ERROR("Codec bit-depth 8 not supported in profile > 1");
}
RANGE_CHECK(extra_cfg, color_space, UNKNOWN, SRGB);
return VPX_CODEC_OK;
}
@ -437,6 +439,7 @@ static vpx_codec_err_t set_encoder_config(
oxcf->firstpass_mb_stats_in = cfg->rc_firstpass_mb_stats_in;
#endif
oxcf->color_space = extra_cfg->color_space;
oxcf->arnr_max_frames = extra_cfg->arnr_max_frames;
oxcf->arnr_strength = extra_cfg->arnr_strength;