本文整理匯總了C++中Element_End0函數的典型用法代碼示例。如果您正苦於以下問題:C++ Element_End0函數的具體用法?C++ Element_End0怎麽用?C++ Element_End0使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了Element_End0函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: Element_Name
//---------------------------------------------------------------------------
void File_Sdp::Data_Parse()
{
Element_Name("Packet");
for (int8u Pos=0; Pos<5; Pos++)
{
if (FieldLines[Pos])
{
Element_Code=FieldLines[Pos];
stream &Stream=Streams[FieldLines[Pos]];
if (Stream.Parser==NULL)
{
Stream.Parser=new File_Teletext();
Stream.Parser->IsSubtitle=true;
Open_Buffer_Init(Stream.Parser);
}
if (Stream.Parser->PTS_DTS_Needed)
Stream.Parser->FrameInfo=FrameInfo;
Demux(Buffer+Buffer_Offset+Element_Offset, 45, ContentType_MainStream);
Open_Buffer_Continue(Stream.Parser, Buffer+Buffer_Offset+Element_Offset, 45);
Element_Offset+=45;
}
}
Element_Begin1("SDP Footer");
Skip_B1( "Footer ID");
Skip_B2( "Footer Sequence number");
Skip_B2( "SDP Cheksum");
Skip_B2( "SMPTE 291 Cheksum");
Element_End0();
}
示例2: Element_Begin1
bool File_Zip::Zip64_end_of_central_directory_record()
{
if (Element_Offset+12>Element_Size) //Zip64_end_of_central_directory_record
return false; //Not enough data
//Retrieving complete Zip64_end_of_central_directory_record size
int64u size_of_Zip64_end_of_central_directory_record=LittleEndian2int64u(Buffer+(size_t)Element_Offset+4);
if (Element_Offset+12+size_of_Zip64_end_of_central_directory_record>Element_Size) //end_of_central_directory all included
return false; //Not enough data
//Parsing
//~ int32u offset;
int16u version_made_by;
Element_Begin1("Zip64 End of central directory record");
Skip_C4( "Zip64 end of central dir signature");
Skip_L8( "size of zip64 end of central directory record");
Get_L2 (version_made_by, "version made by");
Param_Info1((version_made_by>>8)>20?"unused":Zip_made_by[version_made_by>>8]);
Skip_L2( "version needed to extract");
Skip_L4( "number of this disk");
Skip_L4( "number of the disk");// with the start of the central directory
Skip_L8( "total number of entries on this disk");// in the central directory
Skip_L8( "total number of entries");// in the central directory
Skip_L8( "size of the central directory");
Skip_L8( "offset of start of central directory"); // with respect to the starting disk number
Skip_XX(size_of_Zip64_end_of_central_directory_record-44, "zip64 extensible data sector");
Element_End0();
return true;
}
示例3: Skip_B2
//---------------------------------------------------------------------------
void File_Sdp::Header_Parse()
{
//Parsing
int8u Length, FormatCode;
Skip_B2( "Identifier");
Get_B1 (Length, "Length");
Get_B1 (FormatCode, "Format Code");
for (int8u Pos=0; Pos<5; Pos++)
{
FieldLines[Pos]=0;
#if MEDIAINFO_TRACE
Element_Begin1("Field/Line");
BS_Begin();
Info_SB( Field, "Field Number");
Info_S1(2, Reserved, "Reserved");
Info_S1(5, Line, "Line Number");
BS_End();
FieldLines[Pos]=((Field?1:0)<<7) |(Reserved<<5) | Line; //Removing field information ((Field?1:0)<<7) |
if (FieldLines[Pos])
{
Element_Info1(Field?2:1);
Element_Info1(Line);
}
else
Element_Info1("None");
Element_End0();
#else //MEDIAINFO_TRACE
Get_B1(FieldLines[Pos], "Field/Line");
FieldLines[Pos]&=0x7F; //Removing field information
#endif //MEDIAINFO_TRACE
}
Header_Fill_Size(3+Length);
}
示例4: Element_Begin1
//---------------------------------------------------------------------------
void File_Aac::ErrorResilientCelpSpecificConfig ()
{
Element_Begin1("ErrorResilientCelpSpecificConfig");
bool isBaseLayer;
Get_SB(isBaseLayer, "isBaseLayer");
if (isBaseLayer)
{
ER_SC_CelpHeader ();
}
else
{
bool isBWSLayer;
Get_SB(isBWSLayer, "isBWSLayer");
if (isBWSLayer)
{
//~ CelpBWSenhHeader ()
//~ {
Skip_S1(2, "BWS_configuration");
//~ }
}
else
{
Skip_S1(2, "CELP-BRS-id");
}
}
Element_End0();
}
示例5: Element_Begin1
//---------------------------------------------------------------------------
void File_Vc3::TimeCode()
{
//Parsing
Element_Begin1("Time Code");
bool TCP;
BS_Begin();
Get_SB ( TCP, "TCP: Time Code Present");
Mark_0();
Mark_0();
Mark_0();
Mark_0();
Mark_0();
Mark_0();
Mark_0();
BS_End();
if (TCP)
{
Skip_B8( "Time Code");
}
else
Skip_B8( "Junk");
Element_End0();
}
示例6: Element_Begin1
//---------------------------------------------------------------------------
void File_Jpeg::APP0_AVI1()
{
//Parsing
int8u FieldOrder=(int8u)-1;
Element_Begin1("AVI1");
if (Element_Size==16-4)
{
Get_B1 (FieldOrder, "Field Order");
Skip_XX(7, "Zeroes");
}
if (Element_Size==18-4)
{
Get_B1 (FieldOrder, "Field Order");
Skip_B1( "Zero");
Skip_B4( "Size of 1st Field");
Skip_B4( "Size of 2nd Field");
}
Element_End0();
FILLING_BEGIN();
if (Frame_Count==0 && Field_Count==0)
{
switch (FieldOrder)
{
case 0x00 : Fill(Stream_Video, 0, Video_Interlacement, "PPF"); Fill(Stream_Video, 0, Video_ScanType, "Progressive"); break;
case 0x01 : Fill(Stream_Video, 0, Video_Interlacement, "TFF"); Fill(Stream_Video, 0, Video_ScanType, "Interlaced"); Fill(Stream_Video, 0, Video_ScanOrder, "TFF"); Height_Multiplier=2; break;
case 0x02 : Fill(Stream_Video, 0, Video_Interlacement, "BFF"); Fill(Stream_Video, 0, Video_ScanType, "Interlaced"); Fill(Stream_Video, 0, Video_ScanOrder, "BFF"); Height_Multiplier=2; break;
default : ;
}
}
FILLING_END();
}
示例7: Element_Name
//---------------------------------------------------------------------------
void File_DvbSubtitle::page_composition_segment()
{
Element_Name("page_composition_segment");
//Parsing
Skip_B1( "page_time_out");
BS_Begin();
Skip_S1(4, "page_version_number");
Skip_S1(2, "page_state");
Skip_S1(2, "reserved");
BS_End();
while(Element_Offset<Element_Size)
{
Element_Begin1("Region");
int16u region_horizontal_address, region_vertical_address;
int8u region_id;
Get_B1 (region_id, "region_id");
Skip_B1( "reserved");
Get_B2 (region_horizontal_address, "region_horizontal_address");
Get_B2 (region_vertical_address, "region_vertical_address");
Element_End0();
FILLING_BEGIN();
subtitle_streams[subtitle_stream_id].pages[page_id].regions[region_id].page_composition_segment=true;
subtitle_streams[subtitle_stream_id].pages[page_id].regions[region_id].region_horizontal_address=region_horizontal_address;
subtitle_streams[subtitle_stream_id].pages[page_id].regions[region_id].region_vertical_address=region_vertical_address;
FILLING_END();
}
}
示例8: Element_Begin1
//---------------------------------------------------------------------------
void File_Iso9660::Primary_Volume_Descriptor()
{
int32u Volume_Space_Size;
Element_Begin1("Volume_Descriptor");
Skip_B1("Volume Descriptor Type");
Skip_Local(5,"Standard Identifier");
Skip_B1("Volume Descriptor Version");
Skip_B1("Unused field");
Skip_Local(32,"System Identifier");
Skip_Local(32,"Volume Identifier");
Skip_XX(8,"Unused field");
Get_D4(Volume_Space_Size, "Volume Space Size"); Param_Info2(Volume_Space_Size*(int64u)2048, " bytes");
Skip_XX(32,"Unused field");
Skip_B4("Volume Set Size");
Skip_B4("Volume Sequence Number");
Skip_B4("Logical Block Size");
Skip_B8("Path Table Size");
Skip_B4("Location of Occurrence of Type L Path Table");
Skip_B4("Location of Optional Occurrence of Type L Path Table");
Skip_B4("Location of Occurrence of Type M Path Table");
Skip_B4("Location of Optional Occurrence of Type M Path Table");
Skip_Local(34,"Directory Record for Root Directory");
Skip_Local(128,"Volume Set Identifier");
Skip_Local(128,"Publisher Identifier");
Skip_Local(128,"Data Preparer Identifier");
Skip_Local(128,"Application Identifier");
Skip_Local(37,"Copyright File Identifier");
Skip_Local(37,"Abstract File Identifier");
Skip_Local(37,"Bibliographic File Identifier");
Skip_XX(17,"Volume Creation Date and Time");
Element_End0();
}
示例9: Element_Begin1
//---------------------------------------------------------------------------
void File_Cdp::cdp_header()
{
Element_Begin1("cdp_header");
int16u cdp_identifier;
int8u cdp_frame_rate;
Get_B2 ( cdp_identifier, "cdp_identifier");
Skip_B1( "cdp_length");
BS_Begin();
Get_S1 (4, cdp_frame_rate, "cdp_frame_rate"); Param_Info1(Ztring::ToZtring(Cdp_cdp_frame_rate(cdp_frame_rate))+__T(" fps"));
Skip_S1(4, "Reserved");
Skip_SB( "time_code_present");
Skip_SB( "ccdata_present");
Skip_SB( "svcinfo_present");
Skip_SB( "svc_info_start");
Skip_SB( "svc_info_change");
Skip_SB( "svc_info_complete");
Skip_SB( "caption_service_active");
Skip_SB( "Reserved");
BS_End();
Skip_B2( "cdp_hdr_sequence_cntr");
Element_End0();
FILLING_BEGIN();
if (!Status[IsAccepted])
{
if (cdp_identifier!=0x9669)
{
Reject("CDP");
return;
}
Accept("CDP");
}
FILLING_END();
}
示例10: Element_Begin1
//---------------------------------------------------------------------------
void File_Dpx::GenericSectionHeader_Dpx_ImageElement()
{
Element_Begin1("image element");
int8u Descriptor, TransferCharacteristic, ColorimetricSpecification, BitDephs;
Info_B4(DataSign, "Data sign");Param_Info1((DataSign==0?"unsigned":"signed"));
Skip_B4( "Reference low data code value");
Skip_BF4( "Reference low quantity represented");
Skip_B4( "Reference high data code value");
Skip_BF4( "Reference high quantity represented");
Get_B1 (Descriptor, "Descriptor");Param_Info1(DPX_Descriptors(Descriptor));
Get_B1 (TransferCharacteristic, "Transfer characteristic");Param_Info1(DPX_TransferCharacteristic(TransferCharacteristic));
Get_B1 (ColorimetricSpecification, "Colorimetric specification");Param_Info1(DPX_ColorimetricSpecification(ColorimetricSpecification));
Get_B1 (BitDephs, "Bit depth");Param_Info1(DPX_ValidBitDephs(BitDephs));
Info_B2(ComponentDataPackingMethod, "Packing");Param_Info1((ComponentDataPackingMethod<8?DPX_ComponentDataPackingMethod[ComponentDataPackingMethod]:"invalid"));
Info_B2(ComponentDataEncodingMethod, "Encoding");Param_Info1((ComponentDataEncodingMethod<8?DPX_ComponentDataEncodingMethod[ComponentDataEncodingMethod]:"invalid"));
Skip_B4( "Offset to data");
Skip_B4( "End-of-line padding");
Skip_B4( "End-of-image padding");
Skip_UTF8(32, "Description of image element");
Element_End0();
FILLING_BEGIN();
if (Frame_Count==0)
{
Fill(StreamKind_Last, StreamPos_Last, "ColorSpace", DPX_Descriptors_ColorSpace(Descriptor));
Fill(StreamKind_Last, StreamPos_Last, "ChromaSubsampling", DPX_Descriptors_ChromaSubsampling(Descriptor));
Fill(StreamKind_Last, StreamPos_Last, "BitDepth", BitDephs);
Fill(StreamKind_Last, StreamPos_Last, "colour_description_present", "Yes");
Fill(StreamKind_Last, StreamPos_Last, "colour_primaries", DPX_TransferCharacteristic(TransferCharacteristic));
Fill(StreamKind_Last, StreamPos_Last, "transfer_characteristics", DPX_ColorimetricSpecification(ColorimetricSpecification));
}
FILLING_END();
}
示例11: while
//---------------------------------------------------------------------------
void File_Pdf::startxref()
{
//We need to find the exact begin
Buffer_Offset=Buffer_Size-1;
while (Buffer_Offset && (Buffer[Buffer_Offset]=='\r' || Buffer[Buffer_Offset]=='\n'))
Buffer_Offset--;
Buffer_Offset-=5; // "%%EOF"
while (Buffer_Offset && (Buffer[Buffer_Offset]=='\r' || Buffer[Buffer_Offset]=='\n'))
Buffer_Offset--;
while (Buffer_Offset && Buffer[Buffer_Offset]>='0' && Buffer[Buffer_Offset]<='9') // Value
Buffer_Offset--;
while (Buffer_Offset && (Buffer[Buffer_Offset]=='\r' || Buffer[Buffer_Offset]=='\n'))
Buffer_Offset--;
Buffer_Offset-=8;
//Parsing
Element_Begin1("Cross-Reference Table Offset");
string xrefOffsetS;
Skip_String(SizeOfLine(), "Object name");
Get_String (SizeOfLine(), xrefOffsetS, "xref Offset");
while (Buffer_Offset<Buffer_Size && (Buffer[Buffer_Offset]=='\r' || Buffer[Buffer_Offset]=='\n'))
++Buffer_Offset;
int32u xref_Offset=atoi(xrefOffsetS.c_str());
Element_End0();
//Going to xref
if (xref_Offset>Offsets_Max)
Offsets_Max=xref_Offset;
GoTo (xref_Offset);
State=State_Parsing_xref;
}
示例12: Element_Begin1
//---------------------------------------------------------------------------
void File_Jpeg::APP0_JFFF_JPEG()
{
//Parsing
Element_Begin1("Thumbail JPEG");
if (Element_Size>Element_Offset)
Skip_XX(Element_Size-Element_Offset, "Data");
Element_End0();
}
示例13: Element_Begin1
//---------------------------------------------------------------------------
void File_Aac::DSTSpecificConfig()
{
Element_Begin1("DSTSpecificConfig");
Skip_SB("DSDDST_Coded");
Skip_S2(14,"N_Channels");
Skip_SB("reserved");
Element_End0();
}
示例14: Skip_B1
//---------------------------------------------------------------------------
void File_Jpeg::APP0_JFFF()
{
Skip_B1( "Zero");
Element_Begin1("Extension");
Skip_B1( "extension_code"); //0x10 Thumbnail coded using JPEG, 0x11 Thumbnail stored using 1 byte/pixel, 0x13 Thumbnail stored using 3 bytes/pixel
if (Element_Size>Element_Offset)
Skip_XX(Element_Size-Element_Offset, "extension_data");
Element_End0();
}
示例15: Get_B1
//---------------------------------------------------------------------------
void File_Jpeg::COD()
{
//Parsing
int16u Levels;
int8u Style, Style2, MultipleComponentTransform;
bool PrecinctUsed;
Get_B1 (Style, "Scod - Style");
Get_Flags (Style, 0, PrecinctUsed, "Precinct used");
Skip_Flags(Style, 1, "Use SOP (start of packet)");
Skip_Flags(Style, 2, "Use EPH (end of packet header)");
Skip_B1( "Number of decomposition levels");
Skip_B1( "Progression order");
Get_B2 (Levels, "Number of layers");
Info_B1(DimX, "Code-blocks dimensions X (2^(n+2))"); Param_Info2(1<<(DimX+2), " pixels");
Info_B1(DimY, "Code-blocks dimensions Y (2^(n+2))"); Param_Info2(1<<(DimY+2), " pixels");
Get_B1 (Style2, "Style of the code-block coding passes");
Skip_Flags(Style, 0, "Selective arithmetic coding bypass");
Skip_Flags(Style, 1, "MQ states for all contexts");
Skip_Flags(Style, 2, "Regular termination");
Skip_Flags(Style, 3, "Vertically stripe-causal context formation");
Skip_Flags(Style, 4, "Error resilience info is embedded on MQ termination");
Skip_Flags(Style, 5, "Segmentation marker is to be inserted at the end of each normalization coding pass");
Skip_B1( "Transform");
Get_B1(MultipleComponentTransform, "Multiple component transform");
if (PrecinctUsed)
{
BS_Begin();
Skip_S1(4, "LL sub-band width");
Skip_S1(4, "LL sub-band height");
BS_End();
for (int16u Pos=0; Pos<Levels; Pos++)
{
Element_Begin1("Decomposition level");
BS_Begin();
Skip_S1(4, "decomposition level width");
Skip_S1(4, "decomposition level height");
BS_End();
Element_End0();
}
}
FILLING_BEGIN();
if (Frame_Count==0 && Field_Count==0)
{
switch (MultipleComponentTransform)
{
case 0x01 : Fill(StreamKind_Last, 0, "Compression_Mode", "Lossless"); break;
case 0x02 : Fill(StreamKind_Last, 0, "Compression_Mode", "Lossy"); break;
default : ;
}
}
FILLING_END();
}