Commit 5fec3a25 authored by Aurelien Jacobs's avatar Aurelien Jacobs

matroskadec: use a temporary fourcc variable

parent f440f742
...@@ -1281,6 +1281,7 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap) ...@@ -1281,6 +1281,7 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
uint8_t *extradata = NULL; uint8_t *extradata = NULL;
int extradata_size = 0; int extradata_size = 0;
int extradata_offset = 0; int extradata_offset = 0;
uint32_t fourcc = 0;
AVIOContext b; AVIOContext b;
/* Apply some sanity checks. */ /* Apply some sanity checks. */
...@@ -1302,6 +1303,7 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap) ...@@ -1302,6 +1303,7 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
track->video.display_width = track->video.pixel_width; track->video.display_width = track->video.pixel_width;
if (!track->video.display_height) if (!track->video.display_height)
track->video.display_height = track->video.pixel_height; track->video.display_height = track->video.pixel_height;
fourcc = track->video.fourcc;
} else if (track->type == MATROSKA_TRACK_TYPE_AUDIO) { } else if (track->type == MATROSKA_TRACK_TYPE_AUDIO) {
if (!track->audio.out_samplerate) if (!track->audio.out_samplerate)
track->audio.out_samplerate = track->audio.samplerate; track->audio.out_samplerate = track->audio.samplerate;
...@@ -1361,8 +1363,8 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap) ...@@ -1361,8 +1363,8 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
&& track->codec_priv.size >= 40 && track->codec_priv.size >= 40
&& track->codec_priv.data != NULL) { && track->codec_priv.data != NULL) {
track->ms_compat = 1; track->ms_compat = 1;
track->video.fourcc = AV_RL32(track->codec_priv.data + 16); fourcc = AV_RL32(track->codec_priv.data + 16);
codec_id = ff_codec_get_id(ff_codec_bmp_tags, track->video.fourcc); codec_id = ff_codec_get_id(ff_codec_bmp_tags, fourcc);
extradata_offset = 40; extradata_offset = 40;
} else if (!strcmp(track->codec_id, "A_MS/ACM") } else if (!strcmp(track->codec_id, "A_MS/ACM")
&& track->codec_priv.size >= 14 && track->codec_priv.size >= 14
...@@ -1378,8 +1380,8 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap) ...@@ -1378,8 +1380,8 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
} else if (!strcmp(track->codec_id, "V_QUICKTIME") } else if (!strcmp(track->codec_id, "V_QUICKTIME")
&& (track->codec_priv.size >= 86) && (track->codec_priv.size >= 86)
&& (track->codec_priv.data != NULL)) { && (track->codec_priv.data != NULL)) {
track->video.fourcc = AV_RL32(track->codec_priv.data); fourcc = AV_RL32(track->codec_priv.data);
codec_id=ff_codec_get_id(codec_movvideo_tags, track->video.fourcc); codec_id = ff_codec_get_id(codec_movvideo_tags, fourcc);
} else if (codec_id == CODEC_ID_PCM_S16BE) { } else if (codec_id == CODEC_ID_PCM_S16BE) {
switch (track->audio.bitdepth) { switch (track->audio.bitdepth) {
case 8: codec_id = CODEC_ID_PCM_U8; break; case 8: codec_id = CODEC_ID_PCM_U8; break;
...@@ -1500,7 +1502,7 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap) ...@@ -1500,7 +1502,7 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
MatroskaTrackPlane *planes = track->operation.combine_planes.elem; MatroskaTrackPlane *planes = track->operation.combine_planes.elem;
st->codec->codec_type = AVMEDIA_TYPE_VIDEO; st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
st->codec->codec_tag = track->video.fourcc; st->codec->codec_tag = fourcc;
st->codec->width = track->video.pixel_width; st->codec->width = track->video.pixel_width;
st->codec->height = track->video.pixel_height; st->codec->height = track->video.pixel_height;
av_reduce(&st->sample_aspect_ratio.num, av_reduce(&st->sample_aspect_ratio.num,
......
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