Bitstream Interpretation Library (BIL)  0.1
V5BitstreamReader.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 #ifndef BIL_V5BITSTREAMREADER_HPP
8 #define BIL_V5BITSTREAMREADER_HPP
9 
10 #include <bitstream/Bitstream.hpp>
12 
13 namespace bil {
14 
23  public:
24 
25  /**********************************************************************/
26  /* BITSTREAM LOADING */
27  /**********************************************************************/
28 
36  void read(Bitstream& bitstream, const boost::uint32_t* words, size_t wordCount);
37 
38 
39  protected:
40 
49  virtual size_t extractPacket(const boost::uint32_t* words, size_t wordCount, std::auto_ptr<Packet>& packetPtr);
50 
51 
52  /**********************************************************************/
53  /* SYNTAX CHECKER INTERFACE */
54  /**********************************************************************/
55 
60  bool behindSyncWord() const;
61 
66  bool lastPacketWasType1() const;
67 
73 
74 
75  private:
76 
77  V5BitstreamSyntaxChecker m_syntaxChecker;
78 
79  };
80 
81 
90  void readV5Bitstream(Bitstream& bitstream, const boost::uint32_t* words, size_t wordCount);
91 
92 }
93 
94 #endif