[FFmpeg-cvslog] examples/decoding_encoding: make operation logic more self-evident / predictable

Stefano Sabatini git at videolan.org
Mon Aug 27 10:10:56 CEST 2012


ffmpeg | branch: master | Stefano Sabatini <stefasab at gmail.com> | Fri Aug 24 17:16:40 2012 +0200| [60924dfe5539d1f5ff29240f0995a15c23982b88] | committer: Stefano Sabatini

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.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=60924dfe5539d1f5ff29240f0995a15c23982b88
---

 doc/examples/decoding_encoding.c |   27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/doc/examples/decoding_encoding.c b/doc/examples/decoding_encoding.c
index 309342f..0953680 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;
 }



More information about the ffmpeg-cvslog mailing list