[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