Add support to parse DisplayUnit.
BUG=https://code.google.com/p/webm/issues/detail?id=1009 Change-Id: I209ee6caf5bc10dfc1761e650821cc2338a4b13c
This commit is contained in:
parent
d04580fda5
commit
deb41c2ea1
@ -4574,6 +4574,7 @@ long VideoTrack::Parse(Segment* pSegment, const Info& info,
|
|||||||
long long height = 0;
|
long long height = 0;
|
||||||
long long display_width = 0;
|
long long display_width = 0;
|
||||||
long long display_height = 0;
|
long long display_height = 0;
|
||||||
|
long long display_unit = 0;
|
||||||
long long stereo_mode = 0;
|
long long stereo_mode = 0;
|
||||||
|
|
||||||
double rate = 0.0;
|
double rate = 0.0;
|
||||||
@ -4617,6 +4618,11 @@ long VideoTrack::Parse(Segment* pSegment, const Info& info,
|
|||||||
|
|
||||||
if (display_height <= 0)
|
if (display_height <= 0)
|
||||||
return E_FILE_FORMAT_INVALID;
|
return E_FILE_FORMAT_INVALID;
|
||||||
|
} else if (id == 0x14B2) { // display unit
|
||||||
|
display_unit = UnserializeUInt(pReader, pos, size);
|
||||||
|
|
||||||
|
if (display_unit < 0)
|
||||||
|
return E_FILE_FORMAT_INVALID;
|
||||||
} else if (id == 0x13B8) { // stereo mode
|
} else if (id == 0x13B8) { // stereo mode
|
||||||
stereo_mode = UnserializeUInt(pReader, pos, size);
|
stereo_mode = UnserializeUInt(pReader, pos, size);
|
||||||
|
|
||||||
@ -4655,6 +4661,7 @@ long VideoTrack::Parse(Segment* pSegment, const Info& info,
|
|||||||
pTrack->m_height = height;
|
pTrack->m_height = height;
|
||||||
pTrack->m_display_width = display_width;
|
pTrack->m_display_width = display_width;
|
||||||
pTrack->m_display_height = display_height;
|
pTrack->m_display_height = display_height;
|
||||||
|
pTrack->m_display_unit = display_unit;
|
||||||
pTrack->m_stereo_mode = stereo_mode;
|
pTrack->m_stereo_mode = stereo_mode;
|
||||||
pTrack->m_rate = rate;
|
pTrack->m_rate = rate;
|
||||||
|
|
||||||
@ -4767,6 +4774,8 @@ long long VideoTrack::GetDisplayHeight() const {
|
|||||||
return m_display_height > 0 ? m_display_height : GetHeight();
|
return m_display_height > 0 ? m_display_height : GetHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long long VideoTrack::GetDisplayUnit() const { return m_display_unit; }
|
||||||
|
|
||||||
long long VideoTrack::GetStereoMode() const { return m_stereo_mode; }
|
long long VideoTrack::GetStereoMode() const { return m_stereo_mode; }
|
||||||
|
|
||||||
double VideoTrack::GetFrameRate() const { return m_rate; }
|
double VideoTrack::GetFrameRate() const { return m_rate; }
|
||||||
|
@ -400,6 +400,7 @@ class VideoTrack : public Track {
|
|||||||
long long GetHeight() const;
|
long long GetHeight() const;
|
||||||
long long GetDisplayWidth() const;
|
long long GetDisplayWidth() const;
|
||||||
long long GetDisplayHeight() const;
|
long long GetDisplayHeight() const;
|
||||||
|
long long GetDisplayUnit() const;
|
||||||
long long GetStereoMode() const;
|
long long GetStereoMode() const;
|
||||||
double GetFrameRate() const;
|
double GetFrameRate() const;
|
||||||
|
|
||||||
@ -411,6 +412,7 @@ class VideoTrack : public Track {
|
|||||||
long long m_height;
|
long long m_height;
|
||||||
long long m_display_width;
|
long long m_display_width;
|
||||||
long long m_display_height;
|
long long m_display_height;
|
||||||
|
long long m_display_unit;
|
||||||
long long m_stereo_mode;
|
long long m_stereo_mode;
|
||||||
|
|
||||||
double m_rate;
|
double m_rate;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user