File: vpp_ex.h

package info (click to toggle)
libvpl-tools 1.4.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,652 kB
  • sloc: cpp: 107,469; python: 4,303; ansic: 3,202; sh: 159; lisp: 52; makefile: 13
file content (45 lines) | stat: -rw-r--r-- 1,213 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*############################################################################
  # Copyright (C) 2005 Intel Corporation
  #
  # SPDX-License-Identifier: MIT
  ############################################################################*/

#ifndef __VPP_EX_H__
#define __VPP_EX_H__

#include <vector>
#include "sample_utils.h"
#include "vpl/mfxvideo++.h"

/* #define USE_VPP_EX */

class MFXVideoVPPEx : public MFXVideoVPP {
public:
    MFXVideoVPPEx(mfxSession session);

#if defined USE_VPP_EX

    mfxStatus QueryIOSurf(mfxVideoParam* par, mfxFrameAllocRequest request[2]);
    mfxStatus Query(mfxVideoParam* in, mfxVideoParam* out);
    mfxStatus Init(mfxVideoParam* par);
    mfxStatus RunFrameVPPAsync(mfxFrameSurface1* in,
                               mfxFrameSurface1* out,
                               mfxExtVppAuxData* aux,
                               mfxSyncPoint* syncp);
    mfxStatus GetVideoParam(mfxVideoParam* par);
    mfxStatus Close(void);

protected:
    std::vector<mfxFrameSurface1*> m_LockedSurfacesList;
    mfxVideoParam m_VideoParams;

    mfxU64 m_nCurrentPTS;

    mfxU64 m_nIncreaseTime;
    mfxU64 m_nArraySize;
    mfxU64 m_nInputTimeStamp;

#endif
};

#endif //__VPP_EX_H__