summaryrefslogtreecommitdiff
path: root/vp9/vp9_cx_iface.c
diff options
context:
space:
mode:
authorDeb Mukherjee <debargha@google.com>2014-04-22 06:53:18 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-04-22 06:53:18 -0700
commit02104ebbdcd7fa690db0b625eee41d7018ced0df (patch)
tree6d68d7dea477e1ea9f6ee195502b09d06cb5afc4 /vp9/vp9_cx_iface.c
parent0bba4f1efae6a9c2be02fb718eb08e3a8a688c64 (diff)
parent26210c672a075319aaf1dda40d95f1f0590c5bda (diff)
downloadlibvpx-02104ebbdcd7fa690db0b625eee41d7018ced0df.tar
libvpx-02104ebbdcd7fa690db0b625eee41d7018ced0df.tar.gz
libvpx-02104ebbdcd7fa690db0b625eee41d7018ced0df.tar.bz2
libvpx-02104ebbdcd7fa690db0b625eee41d7018ced0df.zip
Merge "Adds test code for supplemental superframe data"
Diffstat (limited to 'vp9/vp9_cx_iface.c')
-rw-r--r--vp9/vp9_cx_iface.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/vp9/vp9_cx_iface.c b/vp9/vp9_cx_iface.c
index d740fcdb7..a806b51fc 100644
--- a/vp9/vp9_cx_iface.c
+++ b/vp9/vp9_cx_iface.c
@@ -623,7 +623,8 @@ static void pick_quickcompress_mode(vpx_codec_alg_priv_t *ctx,
}
}
-
+// Turn on to test if supplemental superframe data breaks decoding
+// #define TEST_SUPPLEMENTAL_SUPERFRAME_DATA
static int write_superframe_index(vpx_codec_alg_priv_t *ctx) {
uint8_t marker = 0xc0;
unsigned int mask;
@@ -649,6 +650,20 @@ static int write_superframe_index(vpx_codec_alg_priv_t *ctx) {
if (ctx->pending_cx_data_sz + index_sz < ctx->cx_data_sz) {
uint8_t *x = ctx->pending_cx_data + ctx->pending_cx_data_sz;
int i, j;
+#ifdef TEST_SUPPLEMENTAL_SUPERFRAME_DATA
+ uint8_t marker_test = 0xc0;
+ int mag_test = 2; // 1 - 4
+ int frames_test = 4; // 1 - 8
+ int index_sz_test = 2 + mag_test * frames_test;
+ marker_test |= frames_test - 1;
+ marker_test |= (mag_test - 1) << 3;
+ *x++ = marker_test;
+ for (i = 0; i < mag_test * frames_test; ++i)
+ *x++ = 0; // fill up with arbitrary data
+ *x++ = marker_test;
+ ctx->pending_cx_data_sz += index_sz_test;
+ printf("Added supplemental superframe data\n");
+#endif
*x++ = marker;
for (i = 0; i < ctx->pending_frame_count; i++) {
@@ -661,6 +676,9 @@ static int write_superframe_index(vpx_codec_alg_priv_t *ctx) {
}
*x++ = marker;
ctx->pending_cx_data_sz += index_sz;
+#ifdef TEST_SUPPLEMENTAL_SUPERFRAME_DATA
+ index_sz += index_sz_test;
+#endif
}
return index_sz;
}