]> granicus.if.org Git - libvpx/commitdiff
Make vp9 the default codec for vpxenc
authorYaowu Xu <yaowu@google.com>
Mon, 1 Jun 2015 16:13:59 +0000 (09:13 -0700)
committerYaowu Xu <yaowu@google.com>
Thu, 4 Jun 2015 15:28:12 +0000 (08:28 -0700)
Change-Id: Ic3b4f3c9a6d8f9b04efb8b5ee080880895063564

CHANGELOG
vpxenc.c

index 4ada43af35087fcaeb30542e3cb42bfb2ff8e171..48dd543746c754a2b024e14400445873cb4139f4 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,5 @@
 xxxx-yy-zz v1.4.0 "Changes for next release"
+  vpxenc is changed to use VP9 by default.
   Encoder controls added for 1 pass SVC.
 
 2015-04-03 v1.4.0 "Indian Runner Duck"
index 4519acb730c977247f5c0fff9a2b18e7a5c9df81..be9b8b61ddb85e80f5d3bd7d256ee199d64a2a3b 100644 (file)
--- a/vpxenc.c
+++ b/vpxenc.c
@@ -469,6 +469,7 @@ static const arg_def_t *no_args[] = { NULL };
 
 void usage_exit(void) {
   int i;
+  const int num_encoder = get_vpx_encoder_count();
 
   fprintf(stderr, "Usage: %s <options> -o dst_filename src_filename \n",
           exec_name);
@@ -496,11 +497,15 @@ void usage_exit(void) {
           "  in fractional seconds. Default is 1/1000.\n");
   fprintf(stderr, "\nIncluded encoders:\n\n");
 
-  for (i = 0; i < get_vpx_encoder_count(); ++i) {
+  for (i = 0; i < num_encoder; ++i) {
     const VpxInterface *const encoder = get_vpx_encoder_by_index(i);
-    fprintf(stderr, "    %-6s - %s\n",
-            encoder->name, vpx_codec_iface_name(encoder->codec_interface()));
+    const char* defstr = (i == (num_encoder - 1)) ? "(default)" : "";
+      fprintf(stderr, "    %-6s - %s %s\n",
+              encoder->name, vpx_codec_iface_name(encoder->codec_interface()),
+              defstr);
   }
+  fprintf(stderr, "\n        ");
+  fprintf(stderr, "Use --codec to switch to a non-default encoder.\n\n");
 
   exit(EXIT_FAILURE);
 }
@@ -811,10 +816,14 @@ static void validate_positive_rational(const char          *msg,
 static void parse_global_config(struct VpxEncoderConfig *global, char **argv) {
   char       **argi, **argj;
   struct arg   arg;
+  const int num_encoder = get_vpx_encoder_count();
+
+  if (num_encoder < 1)
+    die("Error: no valid encoder available\n");
 
   /* Initialize default parameters */
   memset(global, 0, sizeof(*global));
-  global->codec = get_vpx_encoder_by_index(0);
+  global->codec = get_vpx_encoder_by_index(num_encoder - 1);
   global->passes = 0;
   global->color_type = I420;
   /* Assign default deadline to good quality */