source: 3DVCSoftware/branches/0.1-poznan-univ/source/Lib/TLibEncoder/TEncFormattedStringParser.h @ 83

Last change on this file since 83 was 2, checked in by hhi, 13 years ago

inital import

  • Property svn:eol-style set to native
File size: 4.5 KB
Line 
1#if !defined(AFX_TEncFormattedStringParser_H__268768B8_4D1D_484A_904E_586985833BAC__INCLUDED_)
2#define AFX_TEncFormattedStringParser_H__268768B8_4D1D_484A_904E_586985833BAC__INCLUDED_
3
4#include "../TLibCommon/CommonDef.h"
5#include <vector>
6
7class TEncFormattedStringParser
8{
9public:
10  static  ErrVal  separatString               ( const std::string&  rcString,
11                                                      std::string& rcFDString,
12                                                      std::string& rcMmcoString,
13                                                      std::string& rcRplrStringL0,
14                                                      std::string& rcRplrStringL1 );
15  static bool   isFrameSequencePart         ( const std::string&  rcString                  );
16
17  static ErrVal extractRepetitions          ( const std::string&  rcString,
18                                              std::string&        rcNoRepString,
19                                              UInt&               ruiNumberOfRepetitions    );
20
21  static ErrVal getNumberOfFrames           ( const std::string&  rcString,
22                                              UInt&               ruiNumberOfFrames         );
23
24  static ErrVal extractNextFrameDescription ( const std::string&  rcString,
25                                              std::string&        rcFDString,
26                                              size_t&        ruiStartPos );
27
28  static ErrVal getNumberOfParts            ( const std::string&  rcString,
29                                              UInt&               ruiNumberOfParts          );
30
31  static ErrVal extractPart                 ( const std::string&  rcString,
32                                              std::string&        rcPartString,
33                                              size_t&        ruiStartPos );
34
35  static ErrVal extractFrameType( const std::string &rcString,
36                                  SliceType& reSliceType,
37                                  bool &rbStoreForRef,
38                                  bool &rbIsIDR,
39                                  std::string::size_type &ruiStartPos );
40  static ErrVal extractFrameIncrement( const std::string &rcString,
41                                       UInt &ruiIncrement,
42                                       std::string::size_type &ruiStartPos );
43
44  static ErrVal extractFrameLayer( const std::string &rcString,
45                                   UInt &ruiLayer,
46                                   std::string::size_type &ruiStartPos );
47
48  static ErrVal extractAllowedRelativeRefPocs( const std::string &rcString,
49                                               std::vector<int> &raiAllowedRelativeRefPocs,
50                                               std::vector<int> &raiAllowedReferenceViewIdx,
51                                               std::string::size_type &ruiStartPos );
52  static ErrVal extractAllowedRelativeRefPocs( const std::string &rcString,
53                                                 std::vector<int> &raiAllowedRelativeRefPocsL0,
54                                                 std::vector<int> &raiAllowedRelativeRefPocsL1,
55                                                 std::vector<int> &raiAllowedReferenceViewIdxL0,
56                                                 std::vector<int> &raiAllowedReferenceViewIdxL1,
57                                                 std::string::size_type &ruiStartPos );
58
59
60  static ErrVal extractHighestLayerOfGOPString( const std::string &rcString, UInt &ruiLayer );
61
62private:
63  static ErrVal xExtractUInt( const std::string &rcString,
64                              UInt &ruiVal,
65                              std::string::size_type &ruiStartPos );
66
67  static ErrVal xExtractInt( const std::string &rcString,
68                             int &riVal,
69                             std::string::size_type &ruiStartPos );
70
71  static ErrVal xEatChar( const std::string &rcString,
72                          char cChar,
73                          std::string::size_type &ruiStartPos );
74
75  static ErrVal xExtractRelRefPocAndRefViewIdx( const std::string &rcString,
76                                                std::vector<int> &raiAllowedRelativeRefPocs,
77                                                std::vector<int> &raiAllowedReferenceViewIdx,
78                                                std::string::size_type &ruiStartPos );
79
80  static const std::string sm_cSetOfTypes;
81  static const std::string sm_cSetOfDigits;
82  static const std::string sm_cSetOfPartStart;
83};
84
85
86
87
88#endif // !defined(AFX_TEncFormattedStringParser_H__268768B8_4D1D_484A_904E_586985833BAC__INCLUDED_)
Note: See TracBrowser for help on using the repository browser.