mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2025-02-22 13:21:39 +00:00
ivfenc: add AV1 support
libaom tools work with ivf files.
This commit is contained in:
parent
309ddcbe61
commit
e8f0a463b0
@ -37,14 +37,17 @@ static int ivf_write_header(AVFormatContext *s)
|
||||
}
|
||||
par = s->streams[0]->codecpar;
|
||||
if (par->codec_type != AVMEDIA_TYPE_VIDEO ||
|
||||
!(par->codec_id == AV_CODEC_ID_VP8 || par->codec_id == AV_CODEC_ID_VP9)) {
|
||||
av_log(s, AV_LOG_ERROR, "Currently only VP8 and VP9 are supported!\n");
|
||||
!(par->codec_id == AV_CODEC_ID_VP8 || par->codec_id == AV_CODEC_ID_VP9 ||
|
||||
par->codec_id == AV_CODEC_ID_AV1)) {
|
||||
av_log(s, AV_LOG_ERROR, "Currently only VP8, VP9 and AV1 are supported!\n");
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
avio_write(pb, "DKIF", 4);
|
||||
avio_wl16(pb, 0); // version
|
||||
avio_wl16(pb, 32); // header length
|
||||
avio_wl32(pb, par->codec_tag ? par->codec_tag : par->codec_id == AV_CODEC_ID_VP9 ? AV_RL32("VP90") : AV_RL32("VP80"));
|
||||
avio_wl32(pb, par->codec_tag ? par->codec_tag :
|
||||
par->codec_id == AV_CODEC_ID_VP9 ? AV_RL32("VP90") :
|
||||
par->codec_id == AV_CODEC_ID_VP8 ? AV_RL32("VP80") : AV_RL32("AV01"));
|
||||
avio_wl16(pb, par->width);
|
||||
avio_wl16(pb, par->height);
|
||||
avio_wl32(pb, s->streams[0]->time_base.den);
|
||||
@ -100,6 +103,7 @@ static int ivf_check_bitstream(struct AVFormatContext *s, const AVPacket *pkt)
|
||||
static const AVCodecTag codec_ivf_tags[] = {
|
||||
{ AV_CODEC_ID_VP8, MKTAG('V', 'P', '8', '0') },
|
||||
{ AV_CODEC_ID_VP9, MKTAG('V', 'P', '9', '0') },
|
||||
{ AV_CODEC_ID_AV1, MKTAG('A', 'V', '0', '1') },
|
||||
{ AV_CODEC_ID_NONE, 0 }
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user