summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYaowu Xu <yaowu@google.com>2015-06-01 09:13:59 -0700
committerYaowu Xu <yaowu@google.com>2015-06-04 08:28:12 -0700
commitf990b35fa4de51100949e568848c814c55148415 (patch)
treea3621056b146bfe6b22143db1a4b42d64c043a5c
parent877fac122b283455cf699e41e2fd4d455ef122dc (diff)
downloadlibvpx-f990b35fa4de51100949e568848c814c55148415.tar
libvpx-f990b35fa4de51100949e568848c814c55148415.tar.gz
libvpx-f990b35fa4de51100949e568848c814c55148415.tar.bz2
libvpx-f990b35fa4de51100949e568848c814c55148415.zip
Make vp9 the default codec for vpxenc
Change-Id: Ic3b4f3c9a6d8f9b04efb8b5ee080880895063564
-rw-r--r--CHANGELOG1
-rw-r--r--vpxenc.c17
2 files changed, 14 insertions, 4 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 4ada43af3..48dd54374 100644
--- 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"
diff --git a/vpxenc.c b/vpxenc.c
index 4519acb73..be9b8b61d 100644
--- 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 */