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) { + 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"); - - video_encode_example("test.h264", AV_CODEC_ID_H264); + } 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; }