shithub: libvpx

Download patch

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;
   }