1 /*  Copyright (c) MediaArea.net SARL. All Rights Reserved.
2  *
3  *  Use of this source code is governed by a BSD-style license that can
4  *  be found in the License.html file in the root of the source tree.
5  */
6 
7 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8 //
9 // Information about VC-3 video streams
10 //
11 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12 
13 //---------------------------------------------------------------------------
14 #ifndef MediaInfo_Vc3H
15 #define MediaInfo_Vc3H
16 //---------------------------------------------------------------------------
17 
18 //---------------------------------------------------------------------------
19 #include "MediaInfo/File__Analyze.h"
20 #include "MediaInfo/Multiple/File_Mpeg4.h"
21 //---------------------------------------------------------------------------
22 
23 namespace MediaInfoLib
24 {
25 
26 //***************************************************************************
27 // Class File_Avs
28 //***************************************************************************
29 
30 class File_Vc3 : public File__Analyze
31 {
32 public :
33     //In
34     int64u  Frame_Count_Valid;
35     float64 FrameRate;
36 
37     //constructor/Destructor
38     File_Vc3();
39     ~File_Vc3();
40 
41 private :
42     //Streams management
43     void Streams_Fill();
44     void Streams_Finish();
45 
46     //Buffer - Demux
47     #if MEDIAINFO_DEMUX
48     bool Demux_UnpacketizeContainer_Test();
49     #endif //MEDIAINFO_DEMUX
50 
51     //Buffer - Global
52     void Read_Buffer_Unsynched();
53 
54     //Buffer - Per element
55     bool Header_Begin ();
56     void Header_Parse ();
57     void Data_Parse ();
58 
59     //Elements
60     void HeaderPrefix();
61     void CodingControlA();
62     void ImageGeometry();
63     void CompressionID();
64     void CodingControlB();
65     void TimeCode();
66     void UserData();
67     void UserData_8();
68     void MacroblockScanIndices();
69 
70     //Parsers
71     #if defined(MEDIAINFO_CDP_YES)
72         File__Analyze*  Cdp_Parser;
73     #endif //defined(MEDIAINFO_CDP_YES)
74 
75     //Temp
76     string  TimeCode_FirstFrame;
77     int32u  HS;
78     int32u  CID;
79     int16u  ALPF;
80     int16u  SPL;
81     int16u  PARC;
82     int16u  PARN;
83     int8u   SBD;
84     int8u   FFC_FirstFrame;
85     int8u   HVN;
86     int8u   CLV;
87     bool    CLF;
88     int8u   SSC;
89     bool    CRCF;
90     bool    SST;
91     bool    VBR;
92     bool    PMA;
93     bool    LLA;
94     bool    ALP;
95     bool    FFE;
96 };
97 
98 } //NameSpace
99 
100 #endif
101