On Tue, Nov 21, 2017 at 1:03 PM, Leandro Moreira <[email protected]> wrote: > I think you can use these two functions: avcodec_find_encoder_by_name(name) > and avcodec_find_decoder_by_name(name) but they require you to know your > decoder name before (ffmpeg -decoders).
I don't know the decoder name ahead of time and I don't want to hardcode the mappings. All I know is I need an h264 decoder, I don't want to hardcode "h264_cuvid". (I am also using h264 only as an example, I want a general solution) I was able to get a working solution using av_codec_next to traverse all supported codecs looking for one that matches the codec ID but doesn't match the "plain" codec name. Seems like a hack, but it should work. Is there any way to detect what hwaccels are available? Specifically whether a hwdevice supports a given codec? I can just always initialize the one returned from av_hwdevice_iterate_types(AV_HWDEVICE_TYPE_NONE), which will do nothing if the hwdevice doesn't support the codec. But if the platform supports multiple hwdevice types, this is not optimal since I can't detect whether the hwdevice supports the current codec. Again, I don't want to hardcode that "if this is h264, on iOS, and we are configured to include VIDEOTOOLBOX, then use VIDEOTOOLBOX". _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
