[Libav-user] enumerating codec_tags
wm4
nfxjfg at googlemail.com
Tue May 26 11:45:43 CEST 2015
On Fri, 22 May 2015 07:58:43 +0200
Steffen.Roeber at hella.com wrote:
> Hi,
> is there any way to iterate through all codec_tags of an AVOutputFormat
> without using the private header internal.h? I need that header because
> AVCodecTag is there.
> Currently I'm trying something like:
> auto enumFormat = av_guess_format(nullptr, qPrintable(extension), nullptr
> );
> for (uint32 i = 0; enumFormat->codec_tag && enumFormat->codec_tag[i]; ++i)
> {
> auto tag = enumFormat->codec_tag[i];
>
> while (tag->id != AV_CODEC_ID_NONE)
> {
> encoder = avcodec_find_encoder(tag->id);
>
> if (encoder && encoder->type == AVMEDIA_TYPE_VIDEO &&
> av_codec_is_encoder(encoder))
> {
> //...
> }
>
> ++tag;
> }
> }
> What I need, are all codec that are supported by a AVOutputFormat.
>
> Kind regards
> Steffen
While AVCodecTag is private, you could probably check presence of
support via av_codec_get_tag() and enumerating all codecs ffmpeg knows.
(Roundabout, but might work.)
More information about the Libav-user
mailing list