summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYaowu Xu <yaowu@google.com>2012-10-12 12:23:18 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2012-10-12 12:23:18 -0700
commitf6022327f181f4bfcb781f17a438ceb3d8f445f2 (patch)
tree5c5bca3a6c22a9358301fee9ba0aee02d3e08f01
parent0dac2901061557fbeaef0cd759b10d41da25998b (diff)
parentc394ffc60385b039043ab4c2e3afe663b807eb35 (diff)
downloadlibvpx-f6022327f181f4bfcb781f17a438ceb3d8f445f2.tar
libvpx-f6022327f181f4bfcb781f17a438ceb3d8f445f2.tar.gz
libvpx-f6022327f181f4bfcb781f17a438ceb3d8f445f2.tar.bz2
libvpx-f6022327f181f4bfcb781f17a438ceb3d8f445f2.zip
Merge "added the ablility to skip first n frames for vpxdec" into experimental
-rw-r--r--vpxdec.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/vpxdec.c b/vpxdec.c
index 73209c1bb..04d1ac7c5 100644
--- a/vpxdec.c
+++ b/vpxdec.c
@@ -77,6 +77,8 @@ static const arg_def_t progressarg = ARG_DEF(NULL, "progress", 0,
"Show progress after each frame decodes");
static const arg_def_t limitarg = ARG_DEF(NULL, "limit", 1,
"Stop decoding after n frames");
+static const arg_def_t skiparg = ARG_DEF(NULL, "skip", 1,
+ "Skip the first n input frames");
static const arg_def_t postprocarg = ARG_DEF(NULL, "postproc", 0,
"Postprocess decoded frames");
static const arg_def_t summaryarg = ARG_DEF(NULL, "summary", 0,
@@ -94,7 +96,7 @@ static const arg_def_t md5arg = ARG_DEF(NULL, "md5", 0,
#endif
static const arg_def_t *all_args[] = {
&codecarg, &use_yv12, &use_i420, &flipuvarg, &noblitarg,
- &progressarg, &limitarg, &postprocarg, &summaryarg, &outputfile,
+ &progressarg, &limitarg, &skiparg, &postprocarg, &summaryarg, &outputfile,
&threadsarg, &verbosearg,
#if CONFIG_MD5
&md5arg,
@@ -666,6 +668,7 @@ int main(int argc, const char **argv_) {
FILE *infile;
int frame_in = 0, frame_out = 0, flipuv = 0, noblit = 0, do_md5 = 0, progress = 0;
int stop_after = 0, postproc = 0, summary = 0, quiet = 1;
+ int arg_skip = 0;
vpx_codec_iface_t *iface = NULL;
unsigned int fourcc;
unsigned long dx_time = 0;
@@ -728,6 +731,8 @@ int main(int argc, const char **argv_) {
progress = 1;
else if (arg_match(&arg, &limitarg, argi))
stop_after = arg_parse_uint(&arg);
+ else if (arg_match(&arg, &skiparg, argi))
+ arg_skip = arg_parse_uint(&arg);
else if (arg_match(&arg, &postprocarg, argi))
postproc = 1;
else if (arg_match(&arg, &md5arg, argi))
@@ -937,6 +942,15 @@ int main(int argc, const char **argv_) {
}
#endif
+
+ if(arg_skip)
+ fprintf(stderr, "Skiping first %d frames.\n", arg_skip);
+ while (arg_skip) {
+ if (read_frame(&input, &buf, &buf_sz, &buf_alloc_sz))
+ break;
+ arg_skip--;
+ }
+
/* Decode file */
while (!read_frame(&input, &buf, &buf_sz, &buf_alloc_sz)) {
vpx_codec_iter_t iter = NULL;