Pleora Technologies Inc. eBUS SDK v6.5.1.6797 API



PvH264Decoder.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2019, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVH264DECODER_H__
8 #define __PVH264DECODER_H__
9 
10 #include <PvCodecLib.h>
11 #include <PvBuffer.h>
12 
13 
14 #ifdef WIN32
15 struct IMFSample;
16 #endif
17 
18 namespace PvCodecLib
19 {
20  class IH264Decoder;
21 }
22 
23 
24 class PV_CODEC_API PvH264Decoder
25 {
26 public:
27 #ifndef NOT_ALLOW_FFMPEG
28  PvH264Decoder();
29  ~PvH264Decoder();
30 
31  bool IsAvailable() const;
32 
33  PvResult Reset();
34  PvResult Process( const IPvH264AccessUnit *aAccessUnit );
35  PvResult Retrieve( PvImage *aImage );
36  void GetLastError( PvString &aString ) const;
37  void ResetLastError();
38 
39 #else
40  PvH264Decoder(){}
41  ~PvH264Decoder(){}
42 
43  bool IsAvailable() const { return false; }
44 
45  PvResult Reset() { return PvResult::Code::NOT_SUPPORTED; }
46  PvResult Process ( const IPvH264AccessUnit *aAccessUnit ) { return PvResult::Code::NOT_SUPPORTED; }
47  PvResult Retrieve( PvImage *aImage ) { return PvResult::Code::NOT_SUPPORTED; }
48  void GetLastError( PvString &aString ) const {}
49  void ResetLastError(){}
50 
51 #endif
52 
53 #ifdef WIN32
54  PvResult Retrieve( IMFSample *aSample );
55 #endif
56 
57 private:
58 
59  PvCodecLib::IH264Decoder *mThis;
60 
61  // Not implemented
62  PvH264Decoder( const PvH264Decoder & );
63  const PvH264Decoder &operator=( const PvH264Decoder & );
64 
65 };
66 
67 
68 #endif
String class.
Definition: PvString.h:25
Result information.
Definition: PvResult.h:29
Definition: PvResult.h:528
Generic, read-only H264 access unit interface.
Definition: PvH264AccessUnit.h:31
Definition: PvH264Decoder.h:24
Definition: PvH264Decoder.h:18
Image interface to a PvBuffer.
Definition: PvImage.h:181

Copyright (c) 2002-2024 Pleora Technologies Inc.
www.pleora.com