Commit 7426acff authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '18f2514c'

* commit '18f2514c':
  mov: export stsd Compressorname in metadata

Conflicts:
	libavformat/mov.c
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents e77b9853 18f2514c
...@@ -1208,6 +1208,7 @@ static int mov_codec_id(AVStream *st, uint32_t format) ...@@ -1208,6 +1208,7 @@ static int mov_codec_id(AVStream *st, uint32_t format)
static void mov_parse_stsd_video(MOVContext *c, AVIOContext *pb, static void mov_parse_stsd_video(MOVContext *c, AVIOContext *pb,
AVStream *st, MOVStreamContext *sc) AVStream *st, MOVStreamContext *sc)
{ {
uint8_t codec_name[32];
unsigned int color_depth, len, j; unsigned int color_depth, len, j;
int color_greyscale; int color_greyscale;
int color_table_id; int color_table_id;
...@@ -1229,18 +1230,22 @@ static void mov_parse_stsd_video(MOVContext *c, AVIOContext *pb, ...@@ -1229,18 +1230,22 @@ static void mov_parse_stsd_video(MOVContext *c, AVIOContext *pb,
len = avio_r8(pb); /* codec name, pascal string */ len = avio_r8(pb); /* codec name, pascal string */
if (len > 31) if (len > 31)
len = 31; len = 31;
mov_read_mac_string(c, pb, len, st->codec->codec_name, 32); mov_read_mac_string(c, pb, len, codec_name, sizeof(codec_name));
if (len < 31) if (len < 31)
avio_skip(pb, 31 - len); avio_skip(pb, 31 - len);
if (codec_name[0])
av_dict_set(&st->metadata, "encoder", codec_name, 0);
/* codec_tag YV12 triggers an UV swap in rawdec.c */ /* 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)) { if (!memcmp(codec_name, "Planar Y'CbCr 8-bit 4:2:0", 25)) {
st->codec->codec_tag = MKTAG('I', '4', '2', '0'); st->codec->codec_tag = MKTAG('I', '4', '2', '0');
st->codec->width &= ~1; st->codec->width &= ~1;
st->codec->height &= ~1; st->codec->height &= ~1;
} }
/* Flash Media Server uses tag H263 with Sorenson Spark */ /* Flash Media Server uses tag H263 with Sorenson Spark */
if (st->codec->codec_tag == MKTAG('H','2','6','3') && if (st->codec->codec_tag == MKTAG('H','2','6','3') &&
!memcmp(st->codec->codec_name, "Sorenson H263", 13)) !memcmp(codec_name, "Sorenson H263", 13))
st->codec->codec_id = AV_CODEC_ID_FLV1; st->codec->codec_id = AV_CODEC_ID_FLV1;
st->codec->bits_per_coded_sample = avio_rb16(pb); /* depth */ st->codec->bits_per_coded_sample = avio_rb16(pb); /* depth */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment