summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2018-02-11 21:32:04 +0100
committerLuca Barbato <lu_zero@gentoo.org>2018-03-12 08:12:43 +0100
commit44a1731011e87fbf4180d026aefb8bfe85d8c7dc (patch)
tree71287b4dd9bd7380cb1fbc5f285ddb09ae88fcc6
parentdd7e63af93b2430b5d42b87a966160c66736342c (diff)
downloadffmpeg-44a1731011e87fbf4180d026aefb8bfe85d8c7dc.tar.gz
ivf: Support VP9 and AV1 as well
-rw-r--r--libavformat/ivfenc.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/libavformat/ivfenc.c b/libavformat/ivfenc.c
index 1e57106993..48186a8907 100644
--- a/libavformat/ivfenc.c
+++ b/libavformat/ivfenc.c
@@ -18,6 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "avformat.h"
+#include "riff.h"
#include "libavutil/intreadwrite.h"
static int ivf_write_header(AVFormatContext *s)
@@ -30,14 +31,17 @@ static int ivf_write_header(AVFormatContext *s)
return AVERROR(EINVAL);
}
par = s->streams[0]->codecpar;
- if (par->codec_type != AVMEDIA_TYPE_VIDEO || par->codec_id != AV_CODEC_ID_VP8) {
- av_log(s, AV_LOG_ERROR, "Currently only VP8 is supported!\n");
+ if (par->codec_type != AVMEDIA_TYPE_VIDEO ||
+ !(par->codec_id == AV_CODEC_ID_AV1 ||
+ par->codec_id == AV_CODEC_ID_VP8 ||
+ par->codec_id == AV_CODEC_ID_VP9)) {
+ av_log(s, AV_LOG_ERROR, "Currently only AV1, VP8 and VP9 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 : AV_RL32("VP80"));
+ avio_wl32(pb, par->codec_tag ? par->codec_tag : ff_codec_get_tag(ff_codec_bmp_tags, par->codec_id));
avio_wl16(pb, par->width);
avio_wl16(pb, par->height);
avio_wl32(pb, s->streams[0]->time_base.den);