本文整理汇总了C++中Skip_B1函数的典型用法代码示例。如果您正苦于以下问题:C++ Skip_B1函数的具体用法?C++ Skip_B1怎么用?C++ Skip_B1使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Skip_B1函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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();
}
}
示例2: Skip_B1
//---------------------------------------------------------------------------
void File_Flac::FileHeader_Parse()
{
//Parsing
int32u Signature;
if (VorbisHeader)
{
Skip_B1( "Signature");
Skip_Local(4, "Signature");
Skip_B1( "Major version");
Skip_B1( "Minor version");
Skip_B2( "Number of header");
}
Get_C4 (Signature, "Signature");
FILLING_BEGIN();
//Integrity
if (Signature!=CC4("fLaC"))
{
Finished();
return;
}
Stream_Prepare(Stream_General);
Fill(Stream_General, 0, General_Format, "FLAC");
FILLING_END();
}
示例3: 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();
}
示例4: Get_B1
//---------------------------------------------------------------------------
void File_Jpeg::SOS()
{
//Parsing
int8u Count;
Get_B1 (Count, "Number of image components in scan");
for (int8u Pos=0; Pos<Count; Pos++)
{
Skip_B1( "Scan component selector");
Skip_B1( "Entropy coding table destination selector");
}
Skip_B1( "Start of spectral or predictor selection");
Skip_B1( "End of spectral selection");
Skip_B1( "Successive approximation bit position");
FILLING_BEGIN_PRECISE();
SOS_SOD_Parsed=true;
if (Interlaced)
Field_Count++;
if (!Interlaced && Field_Count%2==0)
{
Frame_Count++;
if (Frame_Count_NotParsedIncluded!=(int64u)-1)
Frame_Count_NotParsedIncluded++;
}
if (Status[IsFilled])
Fill();
if (Config->ParseSpeed<1.0)
Finish("JPEG"); //No need of more
FILLING_END();
}
示例5: Get_B1
//---------------------------------------------------------------------------
void File_Jpeg::SOF_()
{
//Parsing
int16u Height, Width;
int8u Resolution, Count;
Get_B1 (Resolution, "Resolution");
Get_B2 (Height, "Height");
Get_B2 (Width, "Width");
Get_B1 (Count, "Number of image components in frame");
for (int8u Pos=0; Pos<Count; Pos++)
{
Skip_B1( "Identifier");
Skip_B1( "sampling factor");
Skip_B1( "Quantization table destination selector");
}
FILLING_BEGIN();
Stream_Prepare(Stream_General);
Fill(Stream_General, 0, General_Format, "JPEG");
if (Count_Get(StreamKind)==0)
Stream_Prepare(StreamKind);
Fill(StreamKind, 0, "Format", StreamKind==Stream_Image?"JPEG":"M-JPEG");
Fill(StreamKind, 0, "Codec", StreamKind==Stream_Image?"JPEG":"M-JPEG");
if (StreamKind==Stream_Image)
Fill(Stream_Image, 0, Image_Codec_String, "JPEG"); //To Avoid automatic filling
Fill(StreamKind, 0, "Resolution", Resolution*3);
Fill(StreamKind, 0, "Height", Height*Height_Multiplier);
Fill(StreamKind, 0, "Width", Width);
FILLING_END();
}
示例6: Element_Begin1
//---------------------------------------------------------------------------
void File_Cdp::cdp_footer()
{
Element_Begin1("cdp_footer");
Skip_B1( "cdp_footer_id");
Skip_B2( "cdp_ftr_sequence_cntr");
Skip_B1( "packet_checksum");
Element_End0();
}
示例7: 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();
}
示例8: Skip_B1
//---------------------------------------------------------------------------
void File_Flac::FileHeader_Parse()
{
//Parsing
if (VorbisHeader)
{
Skip_B1( "Signature");
Skip_Local(4, "Signature");
Skip_B1( "Major version");
Skip_B1( "Minor version");
Skip_B2( "Number of header");
}
Skip_C4( "Signature");
}
示例9: Element_Name
//---------------------------------------------------------------------------
void File_Dpx::IndustrySpecificHeader_Dpx()
{
Element_Name("Industry specific header");
//Parsing
float32 FrameRate;
Element_Begin1("Motion-picture film information");
Skip_String(2, "Film mfg. ID code");
Skip_String(2, "Film type");
Skip_String(2, "Offset in perfs");
Skip_String(6, "Prefix");
Skip_String(4, "Count");
Skip_String(32, "Format - e.g. Academy");
Skip_B4( "Frame position in sequence");
Skip_B4( "Sequence length (frames)");
Skip_B4( "Held count (1 = default)");
Get_BF4 (FrameRate, "Frame rate of original (frames/s)");
Skip_BF4( "Shutter angle of camera in degrees");
Skip_UTF8(32, "Frame identification - e.g. keyframe");
Skip_UTF8(100, "Slate information");
Skip_XX(56, "Reserved for future use");
Element_End0();
Element_Begin1("Television information");
Skip_B4( "SMPTE time code");
Skip_B4( "SMPTE user bits");
Info_B1(Interlace, "Interlace");Param_Info1((Interlace==0?"noninterlaced":"2:1 interlace"));
Skip_B1( "Field number");
Info_B1(VideoSignalStandard, "Video signal standard");Param_Info1(DPX_VideoSignalStandard(VideoSignalStandard));
Skip_B1( "Zero");
Skip_BF4( "Horizontal sampling rate (Hz)");
Skip_BF4( "Vertical sampling rate (Hz)");
Skip_BF4( "Temporal sampling rate or frame rate (Hz)");
Skip_BF4( "Time offset from sync to first pixel (ms)");
Skip_BF4( "Gamma");
Skip_BF4( "Black level code value");
Skip_BF4( "Black gain");
Skip_BF4( "Breakpoint");
Skip_BF4( "Reference white level code value");
Skip_BF4( "Integration time (s)");
Skip_XX(76, "Reserved for future use");
Element_End0();
FILLING_BEGIN();
if (FrameRate)
Fill(StreamKind_Last, StreamPos_Last, "FrameRate", FrameRate);
FILLING_END();
}
示例10: switch
//---------------------------------------------------------------------------
void File_AfdBarData::Read_Buffer_Continue()
{
//Default
line_number_end_of_top_bar=(int16u)-1;
line_number_start_of_bottom_bar=(int16u)-1;
pixel_number_end_of_left_bar=(int16u)-1;
pixel_number_start_of_right_bar=(int16u)-1;
active_format=(int8u)-1;
aspect_ratio=(int8u)-1;
//Parsing
switch (Format)
{
case Format_A53_4_DTG1 :
afd_data();
break;
case Format_A53_4_GA94_06 :
bar_data();
break;
case Format_S2016_3 :
afd_data();
Skip_B1( "Reserved");
Skip_B1( "Reserved");
bar_data();
break;
default :
Skip_XX(Element_Size, "Unknown");
return;
}
FILLING_BEGIN();
//Filling
Stream.line_number_end_of_top_bar=line_number_end_of_top_bar;
Stream.line_number_start_of_bottom_bar=line_number_start_of_bottom_bar;
Stream.pixel_number_end_of_left_bar=pixel_number_end_of_left_bar;
Stream.pixel_number_start_of_right_bar=pixel_number_start_of_right_bar;
Stream.active_format=active_format;
Stream.aspect_ratio=aspect_ratio;
if (!Status[IsAccepted])
{
Accept("AfdBarData");
Fill("AfdBarData");
}
if (MediaInfoLib::Config.ParseSpeed_Get()<1)
Finish("AfdBarData");
FILLING_END();
}
示例11: 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();
}
示例12: Accept
//---------------------------------------------------------------------------
void File_Amr::FileHeader_Parse()
{
//From a container
if (!Codec.empty())
{
Accept("AMR");
Finish("AMR");
return;
}
//Parsing
int64u Signature;
Skip_C5( "Signature (Common)");
Peek_B8(Signature);
if ((Signature&0xFF00000000000000LL)==0x0A00000000000000LL) //\n
{
IsWB=false;
Channels=1;
}
else if ((Signature&0xFFFFFFFFFFFFFF00LL)==0x5F4D43312E300A00LL) //_MC1.0\n
{
IsWB=false;
Channels=2; //Or more, see later
}
else if ((Signature&0xFFFFFF0000000000LL)==0x2D57420000000000LL) //-WB
{
Skip_C3( "Signature (WB)");
IsWB=true;
Peek_B8(Signature);
if ((Signature&0xFF00000000000000LL)==0x0A00000000000000LL) //\n
{
Channels=1;
}
else if ((Signature&0xFFFFFFFFFFFFFF00LL)==0x5F4D43312E300A00LL) //_MC1.0\n
{
Channels=2; //Or more, see later
}
}
else
Channels=0;
Skip_B1( "Signature (Carriage return)");
/*
if (Channels==2) //Mutli-channels
{
BS_Begin();
Skip_S4(28, "Reserved");
Get_S1 ( 4, Channels, "Channels");
}
*/
Header_Size=(int8u)Element_Offset;
FILLING_BEGIN();
Accept("AMR");
if (Channels!=1 || IsWB)
Finish("AMR");
FILLING_END();
}
示例13: Element_Begin
//---------------------------------------------------------------------------
void File_Vc3::ImageGeometry()
{
//Parsing
Element_Begin("Image Geometry", 11);
Get_B2 (ALPF, "Active lines-per-frame");
Get_B2 (SPL, "Samples-per-line");
Skip_B1( "Zero");
Skip_B2( "Number of active lines");
Skip_B2( "Zero");
BS_Begin();
Get_S1 (3, SBD, "Sample bit depth");
Mark_1();
Mark_1();
Mark_0();
Mark_0();
Mark_0();
Mark_1();
Mark_0();
Mark_0();
Mark_0();
Mark_1();
Get_SB ( SST, "Source scan type");
Mark_0();
Mark_0();
BS_End();
Element_End();
}
示例14: Get_B4
//---------------------------------------------------------------------------
void File_Cdp::Read_Buffer_Continue()
{
if (Buffer_Size==0)
return;
if (WithAppleHeader)
{
int32u Size, Magic;
Get_B4 (Size, "Size");
Get_B4 (Magic, "Magic");
FILLING_BEGIN();
if (Magic!=0x63636470)
{
Reject("CDP");
return;
}
FILLING_END();
}
//CRC
int8u CRC=0;
for (size_t Pos=WithAppleHeader?8:0; Pos<Buffer_Size; Pos++)
CRC+=Buffer[Pos];
if (CRC)
{
Skip_XX(Element_Size-Element_Offset, "Invalid data (CRC fails)");
return;
}
cdp_header();
while(Element_Offset<Element_Size)
{
int8u section_id;
Peek_L1(section_id);
switch (section_id)
{
case 0x71 :
time_code_section();
break;
case 0x72 :
ccdata_section();
break;
case 0x73 :
ccsvcinfo_section();
break;
case 0x74 :
cdp_footer();
break;
case 0xFF :
Skip_B1("Padding?");
break;
default :
if (section_id>=0x75 && section_id<=0xEF)
future_section();
else
Skip_XX(Element_Size-Element_Offset, "Unknown");
}
}
}
示例15: 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();
}