123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /*
- * video_decoder.h
- *
- * Created on: 2022年1月15日
- * Author: pengzc
- */
- #ifndef JNI_CALL_VIDEO_DECODER_H_
- #define JNI_CALL_VIDEO_DECODER_H_
- #include <stdint.h>
- namespace voip {
- class H264Decoder {
- public:
- struct ImageData {
- int width;
- int height;
- uint8_t* data[3];
- };
- public:
- H264Decoder();
- virtual ~H264Decoder();
- int Initialize();
- /**
- * 解码H264流
- * 如果成功解出一帧图像,则返回0,图像数据保存到img
- *
- * 每次调用必须传入完整的一个nal
- */
- int DecodeFrame(uint8_t* nalu, int nalu_len, ImageData* img);
- /**
- * 将图像转为NV21格式
- */
- int ToNV21(const ImageData& img, uint8_t* nv21);
- private:
- class Impl;
- Impl* impl_;
- };
- } /* namespace base */
- #endif /* JNI_CALL_VIDEO_DECODER_H_ */
|