mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
Read bits_per_coded_sample from V_MS/VFW/FOURCC mkv files.
Fixes ticket #3425.
This commit is contained in:
parent
2673357048
commit
96fc2908f0
@ -1605,6 +1605,7 @@ static int matroska_read_header(AVFormatContext *s)
|
||||
uint32_t fourcc = 0;
|
||||
AVIOContext b;
|
||||
char* key_id_base64 = NULL;
|
||||
int bit_depth = -1;
|
||||
|
||||
/* Apply some sanity checks. */
|
||||
if (track->type != MATROSKA_TRACK_TYPE_VIDEO &&
|
||||
@ -1708,6 +1709,7 @@ static int matroska_read_header(AVFormatContext *s)
|
||||
&& track->codec_priv.size >= 40
|
||||
&& track->codec_priv.data != NULL) {
|
||||
track->ms_compat = 1;
|
||||
bit_depth = AV_RL16(track->codec_priv.data + 14);
|
||||
fourcc = AV_RL32(track->codec_priv.data + 16);
|
||||
codec_id = ff_codec_get_id(ff_codec_bmp_tags, fourcc);
|
||||
extradata_offset = 40;
|
||||
@ -1879,6 +1881,8 @@ static int matroska_read_header(AVFormatContext *s)
|
||||
|
||||
st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
|
||||
st->codec->codec_tag = fourcc;
|
||||
if (bit_depth >= 0)
|
||||
st->codec->bits_per_coded_sample = bit_depth;
|
||||
st->codec->width = track->video.pixel_width;
|
||||
st->codec->height = track->video.pixel_height;
|
||||
av_reduce(&st->sample_aspect_ratio.num,
|
||||
|
Loading…
x
Reference in New Issue
Block a user