[Ffmpeg-devel] [PATCH] support for VP6 and FLASHSV in the flv muxer

Benjamin Larsson banan
Thu Dec 28 15:14:32 CET 2006


Michael Niedermayer wrote:

> [...]
>
>>Index: libavformat/flvenc.c
>>===================================================================
>>--- libavformat/flvenc.c	(revision 7320)
>>+++ libavformat/flvenc.c	(working copy)
>>@@ -235,7 +235,17 @@
>> 
>>     if (enc->codec_type == CODEC_TYPE_VIDEO) {
>>         put_byte(pb, FLV_TAG_TYPE_VIDEO);
>>-        flags = FLV_CODECID_H263;
>>+
>>+        switch (enc->codec_id) {
>>+            case CODEC_ID_FLV1:     flags = FLV_CODECID_H263; break;
>>+            case CODEC_ID_FLASHSV:  flags = FLV_CODECID_SCREEN; break;
>>+            case CODEC_ID_VP6F:
>>+            case CODEC_ID_VP6:      flags = FLV_CODECID_VP6; break;
>>+
>>+            default:
>>+                av_log(s, AV_LOG_INFO, "Unsupported video codec (%x)\n", enc->codec_id);
>>+                return -1;
>>+        }
>>    
>>
>
>wasnt there a CODEC_ID <-> FLV_CODECID table somewhere? if no it should be
>added and used in muxer and demuxer
>
>  
>

Commited the pending patch and used the table.


>>         flags |= pkt->flags & PKT_FLAG_KEY ? FLV_FRAME_KEY : FLV_FRAME_INTER;
>>     } else {
>>         assert(enc->codec_type == CODEC_TYPE_AUDIO);
>>@@ -246,10 +256,15 @@
>>         put_byte(pb, FLV_TAG_TYPE_AUDIO);
>>     }
>> 
>>-    put_be24(pb,size+1); // include flags
>>+    if (enc->codec_id == CODEC_ID_VP6)
>>+        put_be24(pb,size+2); // include the extra byte needed for VP6 in flv and flags
>>+    else
>>+        put_be24(pb,size+1); // include flags
>>     put_be24(pb,pkt->pts);
>>     put_be32(pb,flv->reserved);
>>     put_byte(pb,flags);
>>+    if (enc->codec_id == CODEC_ID_VP6)
>>+        put_byte(pb,0);
>>    
>>
>
>shouldnt that rather be extradata[0] ?
>
>[...]
>  
>

Added the code suggestion from Aurel. Regressions passed. Ok to commit ?

MvH
Benjamin Larsson

-- 
new tiny signature

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: flvstreamcopy.patch
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20061228/4ec13437/attachment.asc>



More information about the ffmpeg-devel mailing list