frame_superres: Add aomenc argument
Adds "superres-mode" and "superres-numerator" arguments to configure
superres scaling.
There are only two modes right now: SUPERRES_FIXED and SUPERRES_DYNAMIC.
0 sets the fixed mode and 1 sets the dynamic mode.
For the fixed mode superres will scale to the provided numerator where
possible. The cumulative scale change over resizing and superres is
limited to 1/2, so it may have to back off.
For the dynamic mode, the provided numerator will be used as the initial
numerator. Asides from that it's just random for now.
Change-Id: Ibae01c77abba2599fbf51096459d09ddca458d4f
diff --git a/aom/aom_encoder.h b/aom/aom_encoder.h
index 14c9f0c..e9b8630 100644
--- a/aom/aom_encoder.h
+++ b/aom/aom_encoder.h
@@ -402,6 +402,29 @@
*/
unsigned int rc_resize_down_thresh;
+ /*!\brief Frame super-resolution scaling mode.
+ *
+ * Similar to spatial resampling, frame super-resolution integrates
+ * upscaling after the encode/decode process. Taking control of upscaling and
+ * using restoration filters should allow it to outperform normal resizing.
+ *
+ * Mode 0 is SUPERRES_NONE, mode 1 is SUPERRES_FIXED, and mode 2 is
+ * SUPERRES_DYNAMIC.
+ */
+ unsigned int rc_superres_mode;
+
+ /*!\brief Frame super-resolution numerator.
+ *
+ * The numerator for superres to use. If fixed it will only change if the
+ * cumulative scale change over resizing and superres is greater than 1/2;
+ * this forces superres to reduce scaling.
+ *
+ * Valid numerators are 8 to 16.
+ *
+ * Ignored by SUPERRES_DYNAMIC.
+ */
+ unsigned int rc_superres_numerator;
+
/*!\brief Rate control algorithm to use.
*
* Indicates whether the end usage of this stream is to be streamed over