From 5442083b1c541dd166b3adf39131259fc846a62b Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Sat, 1 Dec 2012 21:16:11 +0100 Subject: [PATCH] Support Sorenson Spark in f4v files streamed by Flash Media Server. --- libavformat/isom.c | 2 +- libavformat/mov.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libavformat/isom.c b/libavformat/isom.c index 2c412dda29..be36f1e157 100644 --- a/libavformat/isom.c +++ b/libavformat/isom.c @@ -227,7 +227,7 @@ const AVCodecTag ff_codec_movvideo_tags[] = { { AV_CODEC_ID_DIRAC, MKTAG('d', 'r', 'a', 'c') }, { AV_CODEC_ID_DNXHD, MKTAG('A', 'V', 'd', 'n') }, /* AVID DNxHD */ -// { AV_CODEC_ID_FLV1, MKTAG('H', '2', '6', '3') }, /* Flash Media Server */ +// { AV_CODEC_ID_FLV1, MKTAG('H', '2', '6', '3') }, /* Flash Media Server, forced in demuxer */ { AV_CODEC_ID_MSMPEG4V3, MKTAG('3', 'I', 'V', 'D') }, /* 3ivx DivX Doctor */ { AV_CODEC_ID_RAWVIDEO, MKTAG('A', 'V', '1', 'x') }, /* AVID 1:1x */ { AV_CODEC_ID_RAWVIDEO, MKTAG('A', 'V', 'u', 'p') }, diff --git a/libavformat/mov.c b/libavformat/mov.c index 149bd20954..f380b396e1 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1259,7 +1259,6 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries) int color_greyscale; int color_table_id; - st->codec->codec_id = id; avio_rb16(pb); /* version */ avio_rb16(pb); /* revision level */ avio_rb32(pb); /* vendor */ @@ -1283,6 +1282,11 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries) /* codec_tag YV12 triggers an UV swap in rawdec.c */ if (!memcmp(st->codec->codec_name, "Planar Y'CbCr 8-bit 4:2:0", 25)) st->codec->codec_tag=MKTAG('I', '4', '2', '0'); + /* Flash Media Server streams files with Sorenson Spark and tag H263 */ + if (!memcmp(st->codec->codec_name, "Sorenson H263", 13) + && format == MKTAG('H','2','6','3')) + id = AV_CODEC_ID_FLV1; + st->codec->codec_id = id; st->codec->bits_per_coded_sample = avio_rb16(pb); /* depth */ color_table_id = avio_rb16(pb); /* colortable id */