ref: 3173c2190910a748d1a97b19a94ef4c47e48cb14
parent: 2d50c8498d1b4e03fa249d83fd88b148bca590e5
author: Adrian Grange <[email protected]>
date: Mon Nov 25 03:49:58 EST 2013
Change default behavior to assume sampled chroma When calling check_initial_width through vp9_set_size_literal the function was defaulting to using non-subsampled chroma. This patch changes the default to assume sampled chroma as an interim solution until complete support for other color formats is added. Change-Id: Id8e7e919b350e3473dfdf7551af6fd0716478b04
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -3323,13 +3323,12 @@
}
static void check_initial_width(VP9_COMP *cpi, YV12_BUFFER_CONFIG *sd) {
- VP9_COMMON *cm = &cpi->common;
+ VP9_COMMON *const cm = &cpi->common;
if (!cpi->initial_width) {
- // TODO(jkoleszar): Support 1/4 subsampling?
- cm->subsampling_x = (sd != NULL) && sd->uv_width < sd->y_width;
- cm->subsampling_y = (sd != NULL) && sd->uv_height < sd->y_height;
+ // TODO(agrange) Subsampling defaults to assuming sampled chroma.
+ cm->subsampling_x = sd != NULL ? (sd->uv_width < sd->y_width) : 1;
+ cm->subsampling_y = sd != NULL ? (sd->uv_height < sd->y_height) : 1;
alloc_raw_frame_buffers(cpi);
-
cpi->initial_width = cm->width;
cpi->initial_height = cm->height;
}