mov: handle h263 and flv1 for codec_tag 'H','2','6','3'
The sample in https://bugzilla.libav.org/show_bug.cgi?id=393 and
samples/F4V/H263_NM_f.mp4 both have codec_tag H263 for different
codecs. H263 is apparently used by Flash Media Server for Sorensen
Spark videos.
Patch based on commit 5442083b1c
by
Carl Eugen Hoyos. Fixes bug 393.
This commit is contained in:
@@ -211,7 +211,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_H263, MKTAG('H', '2', '6', '3') },
|
||||
{ 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') },
|
||||
|
@@ -1171,6 +1171,10 @@ 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 uses tag H263 with Sorenson Spark */
|
||||
if (format == MKTAG('H','2','6','3') &&
|
||||
!memcmp(st->codec->codec_name, "Sorenson H263", 13))
|
||||
st->codec->codec_id = AV_CODEC_ID_FLV1;
|
||||
|
||||
st->codec->bits_per_coded_sample = avio_rb16(pb); /* depth */
|
||||
color_table_id = avio_rb16(pb); /* colortable id */
|
||||
|
Reference in New Issue
Block a user