summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorAlex Converse <aconverse@google.com>2014-01-27 11:23:08 -0800
committerAlex Converse <aconverse@google.com>2014-01-27 11:23:08 -0800
commit321f0ee272349b66535b56e0b10cf753755f1bd8 (patch)
tree625cde2c3d2d970cb04381cda23f2c2d8de00a5e /vp9
parentf01855b0c7cd06ae6ea0b16ca7e4e59cc05d3ed1 (diff)
downloadlibvpx-321f0ee272349b66535b56e0b10cf753755f1bd8.tar
libvpx-321f0ee272349b66535b56e0b10cf753755f1bd8.tar.gz
libvpx-321f0ee272349b66535b56e0b10cf753755f1bd8.tar.bz2
libvpx-321f0ee272349b66535b56e0b10cf753755f1bd8.zip
Enforce the use of profile 1 for non-420 content.
Change-Id: I297954b16bce9e23931331520eadfb47540ff660
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_onyx_if.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c
index 1852d1ea0..88023513a 100644
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -3315,6 +3315,7 @@ int vp9_receive_raw_frame(VP9_PTR ptr, unsigned int frame_flags,
YV12_BUFFER_CONFIG *sd, int64_t time_stamp,
int64_t end_time) {
VP9_COMP *cpi = (VP9_COMP *) ptr;
+ VP9_COMMON *cm = &cpi->common;
struct vpx_usec_timer timer;
int res = 0;
const int subsampling_x = sd->uv_width < sd->y_width;
@@ -3328,6 +3329,12 @@ int vp9_receive_raw_frame(VP9_PTR ptr, unsigned int frame_flags,
vpx_usec_timer_mark(&timer);
cpi->time_receive_data += vpx_usec_timer_elapsed(&timer);
+ if (cm->version == 0 && (subsampling_x != 1 || subsampling_y != 1)) {
+ vpx_internal_error(&cm->error, VPX_CODEC_INVALID_PARAM,
+ "Non-4:2:0 color space requires profile >= 1");
+ res = -1;
+ }
+
return res;
}