print warning when upgrading bitdepth
BUG=aomedia:2175
Change-Id: Icfa7e7cc7de6dc2b509b495b7a1bfbbaaf79a586
diff --git a/apps/aomenc.c b/apps/aomenc.c
index 6a44bcd..db8a824 100644
--- a/apps/aomenc.c
+++ b/apps/aomenc.c
@@ -1315,13 +1315,11 @@
" and --height (-h)",
stream->index);
- // Check that the codec bit depth is greater than the input bit depth.
- if (stream->config.cfg.g_input_bit_depth >
- (unsigned int)stream->config.cfg.g_bit_depth) {
- fatal("Stream %d: codec bit depth (%d) less than input bit depth (%d)",
- stream->index, (int)stream->config.cfg.g_bit_depth,
- stream->config.cfg.g_input_bit_depth);
- }
+ /* Even if bit depth is set on the command line flag to be lower,
+ * it is upgraded to at least match the input bit depth.
+ */
+ assert(stream->config.cfg.g_input_bit_depth <=
+ (unsigned int)stream->config.cfg.g_bit_depth);
for (streami = stream; streami; streami = streami->next) {
/* All streams require output files */
@@ -2079,6 +2077,18 @@
default: break;
}
}
+ /* Automatically set the codec bit depth to match the input bit depth.
+ * Upgrade the profile if required. */
+ if (stream->config.cfg.g_input_bit_depth >
+ (unsigned int)stream->config.cfg.g_bit_depth) {
+ stream->config.cfg.g_bit_depth = stream->config.cfg.g_input_bit_depth;
+ if (!global.quiet) {
+ fprintf(stderr,
+ "Warning: automatically updating bit depth to %d to "
+ "match input format.\n",
+ stream->config.cfg.g_input_bit_depth);
+ }
+ }
if (stream->config.cfg.g_bit_depth > 10) {
switch (stream->config.cfg.g_profile) {
case 0: