Blame view

src/dvpp/DvppDecoder.h 1.1 KB
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
1
  #include<string>
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
2
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
3
  #include "depend_headers.h"
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
4
  #include "CircularQueue.hpp"
d248da62   Hu Chunming   优化代码,修正dvpp的一些bug
5
6
  #include "FFReceiver.h"
  #include "DvppDec.h"
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
7
8
9
  
  using namespace std;
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
10
11
12
13
  class DvppDecoder{
  public:
      DvppDecoder();
      ~DvppDecoder();
d248da62   Hu Chunming   优化代码,修正dvpp的一些bug
14
      bool init(FFDecConfig cfg);
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
15
16
17
18
19
20
21
22
23
24
25
26
27
28
      void close();
      bool start();
      void pause();
      void resume();
  
      void setDecKeyframe(bool bKeyframe);
  
      bool isRunning();
      bool isFinished();
      bool isPausing();
      bool getResolution( int &width, int &height );
  
      bool isSurport(FFDecConfig& cfg);
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
29
30
      float fps();
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
31
32
33
34
35
36
37
38
39
40
41
42
43
      void setName(string nm){
          m_dec_name = nm;
      }
  
      string getName(){
          return m_dec_name;
      }
  
      FFImgInfo* snapshot();
  
      void setPostDecArg(const void* postDecArg);
      void setFinishedDecArg(const void* finishedDecArg);
  
d248da62   Hu Chunming   优化代码,修正dvpp的一些bug
44
      int getCachedQueueLength();
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
45
  
d248da62   Hu Chunming   优化代码,修正dvpp的一些bug
46
47
  public:
      void taskFinishing();
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
48
49
  
  private:
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
50
51
      FFDecConfig m_cfg;
      string m_dec_name;
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
52
  
d248da62   Hu Chunming   优化代码,修正dvpp的一些bug
53
54
55
      CircularQueue<AVPacket *> *m_pktQueueptr;
      FFReceiver m_receiver;
      DvppDec m_decoder;
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
56
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
57
58
59
      const void * m_finishedDecArg;
      DECODE_FINISHED_CALLBACK decode_finished_cbk;
  
d248da62   Hu Chunming   优化代码,修正dvpp的一些bug
60
61
      bool m_bFinished{false};
  
63e6f7bc   Hu Chunming   完成dvpp。但是nv和gb281...
62
  };