Changes till now
This commit is contained in:
parent
fce97a478c
commit
c93a0bb815
8 changed files with 188 additions and 12 deletions
61
MP4/box_h264.cpp
Normal file
61
MP4/box_h264.cpp
Normal file
|
@ -0,0 +1,61 @@
|
|||
#include "box_h264.h"
|
||||
|
||||
Box_h264::Box_h264( ) {
|
||||
Container = new Box( 0x68323634 );
|
||||
SetReserved();
|
||||
SetDefaults();
|
||||
}
|
||||
|
||||
Box_h264::~Box_h264() {
|
||||
delete Container;
|
||||
}
|
||||
|
||||
Box * Box_h264::GetBox() {
|
||||
return Container;
|
||||
}
|
||||
|
||||
void Box_h264::SetDataReferenceIndex( uint16_t DataReferenceIndex ) {
|
||||
Container->SetPayload((uint32_t)2,Box::uint16_to_uint8( DataReferenceIndex ),6);
|
||||
}
|
||||
|
||||
void Box_h264::SetDimensions ( uint16_t Width, uint16_t Height ) {
|
||||
Container->SetPayload((uint32_t)2,Box::uint16_to_uint8( Height ),26);
|
||||
Container->SetPayload((uint32_t)2,Box::uint16_to_uint8( Width ),24);
|
||||
}
|
||||
|
||||
void Box_h264::SetResolution ( uint32_t Horizontal, uint32_t Vertical ) {
|
||||
Container->SetPayload((uint32_t)4,Box::uint32_to_uint8( Vertical ),32);
|
||||
Container->SetPayload((uint32_t)4,Box::uint32_to_uint8( Horizontal ),28);
|
||||
}
|
||||
|
||||
void Box_h264::SetFrameCount ( uint16_t FrameCount ) {
|
||||
Container->SetPayload((uint32_t)2,Box::uint16_to_uint8( FrameCount ),40);
|
||||
}
|
||||
|
||||
void Box_h264::SetCompressorName ( std::string CompressorName ) {
|
||||
uint8_t * Printable = new uint8_t[1];
|
||||
Printable[0] = std::min( (unsigned int)31, CompressorName.size() );
|
||||
Container->SetPayload((uint32_t)Printable[0],(uint8_t*)CompressorName.c_str(),43);
|
||||
Container->SetPayload((uint32_t)1, Printable ,42);
|
||||
}
|
||||
|
||||
void Box_h264::SetDepth ( uint16_t Depth ) {
|
||||
Container->SetPayload((uint32_t)2,Box::uint16_to_uint8( Depth ),74);
|
||||
}
|
||||
|
||||
void Box_h264::SetReserved( ) {
|
||||
Container->SetPayload((uint32_t)2,Box::uint16_to_uint8( (uint16_t)-1 ),76);
|
||||
Container->SetPayload((uint32_t)4,Box::uint32_to_uint8(0),36);
|
||||
Container->SetPayload((uint32_t)4,Box::uint32_to_uint8(0),20);
|
||||
Container->SetPayload((uint32_t)4,Box::uint32_to_uint8(0),16);
|
||||
Container->SetPayload((uint32_t)4,Box::uint32_to_uint8(0),12);
|
||||
Container->SetPayload((uint32_t)4,Box::uint32_to_uint8(0),8);
|
||||
Container->SetPayload((uint32_t)4,Box::uint16_to_uint8(0),4);
|
||||
Container->SetPayload((uint32_t)4,Box::uint32_to_uint8(0));
|
||||
}
|
||||
|
||||
void Box_h264::SetDefaults( ) {
|
||||
SetResolution ( );
|
||||
SetFrameCount ( );
|
||||
SetDepth ( );
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue