123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #include "mp4common.h"
- MP4Avc1Atom::MP4Avc1Atom()
- : MP4Atom("avc1")
- {
- AddReserved("reserved1", 6);
- AddProperty(
- new MP4Integer16Property("dataReferenceIndex"));
- AddReserved("reserved2", 16);
- AddProperty(
- new MP4Integer16Property("width"));
- AddProperty(
- new MP4Integer16Property("height"));
- AddReserved("reserved3", 14);
- MP4StringProperty* pProp =
- new MP4StringProperty("compressorName");
- pProp->SetFixedLength(32);
- pProp->SetValue("AVC Coding");
- AddProperty(pProp);
- AddReserved("reserved4", 4);
- ExpectChildAtom("avcC", Required, OnlyOne);
- ExpectChildAtom("btrt", Optional, OnlyOne);
-
- }
- void MP4Avc1Atom::Generate()
- {
- MP4Atom::Generate();
- ((MP4Integer16Property*)m_pProperties[1])->SetValue(1);
-
- static u_int8_t reserved3[14] = {
- 0x00, 0x48, 0x00, 0x00,
- 0x00, 0x48, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01,
- };
- m_pProperties[5]->SetReadOnly(false);
- ((MP4BytesProperty*)m_pProperties[5])->
- SetValue(reserved3, sizeof(reserved3));
- m_pProperties[5]->SetReadOnly(true);
-
- static u_int8_t reserved4[4] = {
- 0x00, 0x18, 0xFF, 0xFF,
- };
- m_pProperties[7]->SetReadOnly(false);
- ((MP4BytesProperty*)m_pProperties[7])->
- SetValue(reserved4, sizeof(reserved4));
- m_pProperties[7]->SetReadOnly(true);
- }
|