summaryrefslogtreecommitdiff
path: root/doc/examples/decoding_encoding.c
diff options
context:
space:
mode:
authorStefano Sabatini <stefasab@gmail.com>2012-08-24 17:16:40 +0200
committerStefano Sabatini <stefasab@gmail.com>2012-08-27 10:09:48 +0200
commit60924dfe5539d1f5ff29240f0995a15c23982b88 (patch)
tree5c147b3e0766a5d300dc4024939d9ae90f945687 /doc/examples/decoding_encoding.c
parent3b0e2763f42d8a2278d7f96da6ca759f67400341 (diff)
examples/decoding_encoding: make operation logic more self-evident / predictable
Add a switch which controls which operation to perform. Useful to test only a single feature. Also the new behavior is more self-consistent.
Diffstat (limited to 'doc/examples/decoding_encoding.c')
-rw-r--r--doc/examples/decoding_encoding.c27
1 files changed, 18 insertions, 9 deletions
diff --git a/doc/examples/decoding_encoding.c b/doc/examples/decoding_encoding.c
index 309342f210..095368030a 100644
--- a/doc/examples/decoding_encoding.c
+++ b/doc/examples/decoding_encoding.c
@@ -600,24 +600,33 @@ static void video_decode_example(const char *outfilename, const char *filename)
int main(int argc, char **argv)
{
- const char *filename;
+ const char *output_type;
/* register all the codecs */
avcodec_register_all();
- if (argc <= 1) {
- audio_encode_example("test.mp2");
- audio_decode_example("test.sw", "test.mp2");
+ if (argc < 2) {
+ printf("usage: %s output_type\n"
+ "API example program to decode/encode a media stream with libavcodec.\n"
+ "output_type must be choosen between 'h264', 'mp2', 'mpg'\n",
+ argv[0]);
+ return 1;
+ }
+ output_type = argv[1];
+ if (!strcmp(output_type, "h264")) {
video_encode_example("test.h264", AV_CODEC_ID_H264);
+ } else if (!strcmp(output_type, "mp2")) {
+ audio_encode_example("test.mp2");
+ audio_decode_example("test.sw", "test.mp2");
+ } else if (!strcmp(output_type, "mpg")) {
video_encode_example("test.mpg", AV_CODEC_ID_MPEG1VIDEO);
- filename = "test.mpg";
+ video_decode_example("test%02d.pgm", "test.mpg");
} else {
- filename = argv[1];
+ fprintf(stderr, "Invalid output type '%s', choose between 'h264', 'mp2', or 'mpg'\n",
+ output_type);
+ return 1;
}
- // audio_decode_example("test.sw", filename);
- video_decode_example("test%02d.pgm", filename);
-
return 0;
}