NvDecoderApi.h 890 Bytes
#include<string>
#include <pthread.h>

#include "common_header.h"
#include "../interface/AbstractDecoder.h"

using namespace std;

class FFNvDecoder;

class NvDecoderApi : public AbstractDecoder{
public:
    NvDecoderApi();
    ~NvDecoderApi();
    bool init(FFDecConfig& cfg);
    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);

    int getCachedQueueLength();

    float fps();

    FFImgInfo* snapshot();

    DECODER_TYPE getDecoderType(){ return DECODER_TYPE_DVPP; }
    void setName(string nm);
    string getName();

    void setPostDecArg(const void* postDecArg);
    void setFinishedDecArg(const void* finishedDecArg);
private:
    FFNvDecoder* m_pDecoder;
};