61 lines
1.1 KiB
C
61 lines
1.1 KiB
C
|
|
/**
|
||
|
|
* 视频流解码引擎
|
||
|
|
* */
|
||
|
|
|
||
|
|
#ifndef VIDEODECODEENGINE_H
|
||
|
|
#define VIDEODECODEENGINE_H
|
||
|
|
|
||
|
|
#include <iostream>
|
||
|
|
#include <chrono>
|
||
|
|
#include <cmath>
|
||
|
|
#include <utility>
|
||
|
|
#include <thread>
|
||
|
|
#include <chrono>
|
||
|
|
#include <functional>
|
||
|
|
#include <atomic>
|
||
|
|
#include <time.h>
|
||
|
|
#include <sys/time.h>
|
||
|
|
#include <unistd.h>
|
||
|
|
#include <queue>
|
||
|
|
#include <mutex>
|
||
|
|
#include <semaphore.h>
|
||
|
|
#include <algorithm>
|
||
|
|
#include <string>
|
||
|
|
#include <stdio.h>
|
||
|
|
#include <stdarg.h>
|
||
|
|
#include <string.h>
|
||
|
|
#include <vector>
|
||
|
|
#include <memory>
|
||
|
|
|
||
|
|
#include "EngineBase.h"
|
||
|
|
#include "EngineFactory.h"
|
||
|
|
#include "MyYaml.h"
|
||
|
|
#include "myutils.h"
|
||
|
|
#include "AppCommon.h"
|
||
|
|
|
||
|
|
#include "HardH264FFmpegDecode.h"
|
||
|
|
class VideoDecodeEngine : public ai_matrix::EngineBase
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
VideoDecodeEngine();
|
||
|
|
~VideoDecodeEngine();
|
||
|
|
|
||
|
|
APP_ERROR Init() override;
|
||
|
|
APP_ERROR DeInit() override;
|
||
|
|
APP_ERROR Process() override;
|
||
|
|
|
||
|
|
private:
|
||
|
|
std::string strPort0_;
|
||
|
|
|
||
|
|
|
||
|
|
HardH264FFmpegDecode* hard_h264_ffmpeg_decoder_ = nullptr;
|
||
|
|
|
||
|
|
ai_matrix::DataSourceConfig dataSourceConfig_;
|
||
|
|
bool bUseEngine_;
|
||
|
|
|
||
|
|
};
|
||
|
|
|
||
|
|
ENGINE_REGIST(VideoDecodeEngine)
|
||
|
|
|
||
|
|
#endif
|