[svn] / branches / release-1_3-branch / xvidextra / src / apps / miniconvert / recompress.h Repository:
ViewVC logotype

Annotation of /branches/release-1_3-branch/xvidextra/src/apps/miniconvert/recompress.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2096 - (view) (download)

1 : Isibaar 2096 /*****************************************************************************
2 :     *
3 :     * Xvid MiniConvert
4 :     * - Header for RecompressGraph class -
5 :     *
6 :     * Copyright(C) 2011-2014 Xvid Solutions GmbH
7 :     *
8 :     * This program is free software ; you can redistribute it and/or modify
9 :     * it under the terms of the GNU General Public License as published by
10 :     * the Free Software Foundation ; either version 2 of the License, or
11 :     * (at your option) any later version.
12 :     *
13 :     * This program is distributed in the hope that it will be useful,
14 :     * but WITHOUT ANY WARRANTY ; without even the implied warranty of
15 :     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 :     * GNU General Public License for more details.
17 :     *
18 :     * You should have received a copy of the GNU General Public License
19 :     * along with this program ; if not, write to the Free Software
20 :     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 :     *
22 :     * $Id: recompress.h 2080 2014-04-08 20:01:07Z Isibaar $
23 :     *
24 :     ****************************************************************************/
25 :     /*
26 :     * Author(s): Ireneusz Hallmann
27 :     *
28 :     ****************************************************************************/
29 :    
30 :     #ifndef _RECOMPRESS_H_
31 :     #define _RECOMPRESS_H_
32 :    
33 :     #include "config.h"
34 :    
35 :     class RecompressGraph
36 :     {
37 :     public:
38 :     RecompressGraph();
39 :     ~RecompressGraph();
40 :    
41 :     HRESULT CreateGraph(HWND in_ProgressWnd, int in_Pass);
42 :    
43 :     HRESULT AddSourceFile(LPCTSTR in_szFilePath);
44 :     HRESULT SetDstFileName(LPCTSTR in_szFilePath);
45 :    
46 :     void CleanUp();
47 :     void BreakConversion();
48 :    
49 :     HRESULT Recompress();
50 :    
51 :     HRESULT SetProgress(int elapsedSize, int totalSize);
52 :    
53 :     LONGLONG m_vDuration;
54 :     DWORD m_TotalFrames, m_AvgTimeForFrame;
55 :     int m_FpsNom, m_FpsDen;
56 :    
57 :     bool IsBreakRequested() { return (m_bBreakRequested==1); }
58 :     HWND GetProgressWnd() { return m_ProgressWnd; }
59 :    
60 :     int GetCurSize() { return m_curSize; }
61 :     int GetTotalSize() { return m_totalSize; }
62 :     int GetElapsedSize() { return m_elapsedSize; }
63 :    
64 :     protected:
65 :     HWND m_ProgressWnd;
66 :     LONGLONG m_MinSTime, m_MaxSTime, m_MinETime, m_MaxETime;
67 :    
68 :     IGraphBuilder* m_pGraph;
69 :     ICaptureGraphBuilder2 *m_pBuilder;
70 :     IMediaEvent *m_pEvent;
71 :     IMediaControl *m_pControl;
72 :    
73 :     IBaseFilter *m_pVideoMeter;
74 :     //IBaseFilter *m_pEmmsDummy;
75 :     IBaseFilter* m_pSrcFilter;
76 :     IBaseFilter* m_pSplitter;
77 :     IBaseFilter* m_pXvidEncoder;
78 :     IAMVfwCompressDialogs *m_pXvidConfig;
79 :     IBaseFilter* m_pMuxer;
80 :     IBaseFilter* m_pFileWriter;
81 :     IBaseFilter *m_pChgType;
82 :     IRecProgressNotify *m_pIChgTypeNorm;
83 :    
84 :     std::vector <IBaseFilter *>m_vOtherFilters;
85 :     TCHAR *m_szSourceFilePath, *m_szDstFilePath;
86 :     HRESULT AddSourceFilter(LPCTSTR in_szFilePath);
87 :     HRESULT TrySourceFilter(LPCOLESTR pwName, GUID *in_Clsid);
88 :     HRESULT AddFileWriter(LPCTSTR in_szFilePath);
89 :     HRESULT AddFilterByCLSID(GUID *in_Filter, IBaseFilter **out_pFilter);
90 :    
91 :     CMediaType m_SrcFileMediaType, m_DstFileMediaType;
92 :     int m_UsedStreamsCnt;
93 :     CONFIG *m_pXvidCfgRec;
94 :     int m_ToAlloc;
95 :    
96 :     HRESULT AddAudioStreams(int check_only);
97 :     void RemoveIfUnconnectedInput(IBaseFilter *in_pFilter);
98 :    
99 :     DWORD m_CountedFrames;
100 :     LONGLONG m_TotalFramesSize;
101 :     DWORD m_Bitrate;
102 :     int m_bFileCopy;
103 :    
104 :     DWORD m_Width, m_Height;
105 :     int m_bIsWMV;
106 :     int m_bBreakRequested;
107 :     DWORD m_curSize, m_totalSize, m_elapsedSize;
108 :    
109 :     HRESULT WaitForCompletion(long *out_Evt);
110 :     };
111 :    
112 :     #endif /* _RECOMPRESS_H_ */

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4