[FFmpeg-devel] [PATCH]Allow muxing VP6 in Flash
Carl Eugen Hoyos
cehoyos at ag.or.at
Thu Oct 31 01:27:59 CET 2013
Hi!
Users were able to mux VP6 in Flash with lavf, fix a reported regression.
Please comment / commit, Carl Eugen
-------------- next part --------------
From e025a68885c7749684dbd953ebc3372992d1e13b Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <cehoyos at ag.or.at>
Date: Thu, 31 Oct 2013 01:24:07 +0100
Subject: [PATCH] Revert: flvenc: Don't pretend to support muxing "plain" VP6
Muxing VP6 is used by applications and works with Flashplayer.
Reported-by: David Bertrand
---
libavformat/flvenc.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
index 9224103..a1b498d 100644
--- a/libavformat/flvenc.c
+++ b/libavformat/flvenc.c
@@ -37,6 +37,7 @@ static const AVCodecTag flv_video_codec_ids[] = {
{ AV_CODEC_ID_FLASHSV, FLV_CODECID_SCREEN },
{ AV_CODEC_ID_FLASHSV2, FLV_CODECID_SCREEN2 },
{ AV_CODEC_ID_VP6F, FLV_CODECID_VP6 },
+ { AV_CODEC_ID_VP6, FLV_CODECID_VP6 },
{ AV_CODEC_ID_VP6A, FLV_CODECID_VP6A },
{ AV_CODEC_ID_H264, FLV_CODECID_H264 },
{ AV_CODEC_ID_NONE, 0 }
@@ -460,7 +461,7 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt)
int flags = -1, flags_size, ret;
if (enc->codec_id == AV_CODEC_ID_VP6F || enc->codec_id == AV_CODEC_ID_VP6A ||
- enc->codec_id == AV_CODEC_ID_AAC)
+ enc->codec_id == AV_CODEC_ID_VP6 || enc->codec_id == AV_CODEC_ID_AAC)
flags_size = 2;
else if (enc->codec_id == AV_CODEC_ID_H264 || enc->codec_id == AV_CODEC_ID_MPEG4)
flags_size = 5;
@@ -560,6 +561,8 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt)
} else {
av_assert1(flags>=0);
avio_w8(pb,flags);
+ if (enc->codec_id == AV_CODEC_ID_VP6)
+ avio_w8(pb,0);
if (enc->codec_id == AV_CODEC_ID_VP6F || enc->codec_id == AV_CODEC_ID_VP6A) {
if (enc->extradata_size)
avio_w8(pb, enc->extradata[0]);
--
1.7.10.4
More information about the ffmpeg-devel
mailing list