summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vp10/decoder/decodeframe.c12
-rw-r--r--vp10/encoder/bitstream.c10
-rw-r--r--vp9/encoder/vp9_ratectrl.h2
3 files changed, 22 insertions, 2 deletions
diff --git a/vp10/decoder/decodeframe.c b/vp10/decoder/decodeframe.c
index 91096a2f6..2b0ef6430 100644
--- a/vp10/decoder/decodeframe.c
+++ b/vp10/decoder/decodeframe.c
@@ -1276,13 +1276,21 @@ static void setup_frame_size_with_refs(VP10_COMMON *cm,
YV12_BUFFER_CONFIG *const buf = cm->frame_refs[i].buf;
width = buf->y_crop_width;
height = buf->y_crop_height;
+#if CONFIG_MISC_FIXES
+ cm->render_width = buf->render_width;
+ cm->render_height = buf->render_height;
+#endif
found = 1;
break;
}
}
- if (!found)
+ if (!found) {
vp10_read_frame_size(rb, &width, &height);
+#if CONFIG_MISC_FIXES
+ setup_render_size(cm, rb);
+#endif
+ }
if (width <= 0 || height <= 0)
vpx_internal_error(&cm->error, VPX_CODEC_CORRUPT_FRAME,
@@ -1313,7 +1321,9 @@ static void setup_frame_size_with_refs(VP10_COMMON *cm,
}
resize_context_buffers(cm, width, height);
+#if !CONFIG_MISC_FIXES
setup_render_size(cm, rb);
+#endif
lock_buffer_pool(pool);
if (vpx_realloc_frame_buffer(
diff --git a/vp10/encoder/bitstream.c b/vp10/encoder/bitstream.c
index 348c7cb83..9072e160c 100644
--- a/vp10/encoder/bitstream.c
+++ b/vp10/encoder/bitstream.c
@@ -1013,6 +1013,10 @@ static void write_frame_size_with_refs(VP10_COMP *cpi,
if (cfg != NULL) {
found = cm->width == cfg->y_crop_width &&
cm->height == cfg->y_crop_height;
+#if CONFIG_MISC_FIXES
+ found &= cm->render_width == cfg->render_width &&
+ cm->render_height == cfg->render_height;
+#endif
}
vpx_wb_write_bit(wb, found);
if (found) {
@@ -1023,9 +1027,15 @@ static void write_frame_size_with_refs(VP10_COMP *cpi,
if (!found) {
vpx_wb_write_literal(wb, cm->width - 1, 16);
vpx_wb_write_literal(wb, cm->height - 1, 16);
+
+#if CONFIG_MISC_FIXES
+ write_render_size(cm, wb);
+#endif
}
+#if !CONFIG_MISC_FIXES
write_render_size(cm, wb);
+#endif
}
static void write_sync_code(struct vpx_write_bit_buffer *wb) {
diff --git a/vp9/encoder/vp9_ratectrl.h b/vp9/encoder/vp9_ratectrl.h
index eb7c79366..136fd3e78 100644
--- a/vp9/encoder/vp9_ratectrl.h
+++ b/vp9/encoder/vp9_ratectrl.h
@@ -26,7 +26,7 @@ extern "C" {
#define MIN_GF_INTERVAL 4
#define MAX_GF_INTERVAL 16
-#define ONEHALFONLY_RESIZE 1
+#define ONEHALFONLY_RESIZE 0
typedef enum {
INTER_NORMAL = 0,