[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