This allows e.g. -c:v h264 to select the libx264 encoder.
---
 avconv_opt.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/avconv_opt.c b/avconv_opt.c
index 97ae0a4..5c6fc87 100644
--- a/avconv_opt.c
+++ b/avconv_opt.c
@@ -381,12 +381,22 @@ static int copy_metadata(char *outspec, char *inspec, 
AVFormatContext *oc, AVFor
 
 static AVCodec *find_codec_or_die(const char *name, enum AVMediaType type, int 
encoder)
 {
+    const AVCodecDescriptor *desc;
     const char *codec_string = encoder ? "encoder" : "decoder";
     AVCodec *codec;
 
     codec = encoder ?
         avcodec_find_encoder_by_name(name) :
         avcodec_find_decoder_by_name(name);
+
+    if (!codec && (desc = avcodec_descriptor_get_by_name(name))) {
+        codec = encoder ? avcodec_find_encoder(desc->id) :
+                          avcodec_find_decoder(desc->id);
+        if (codec)
+            av_log(NULL, AV_LOG_VERBOSE, "Matched %s '%s' for codec '%s'.\n",
+                   codec_string, codec->name, desc->name);
+    }
+
     if (!codec) {
         av_log(NULL, AV_LOG_FATAL, "Unknown %s '%s'\n", codec_string, name);
         exit_program(1);
-- 
1.7.10.4

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to