History

add thread decoding unit test.

xiaotian.shi committed 6 years ago

Commit 16a9ed81 parent ffdf9126 files · +585 −0Browse files

Showing the changes to test/BaseThreadDecoderTest.h (1 of 6 files). Show all

Unified · Split

test/BaseThreadDecoderTest.h+61−0
@@ -0,0 +1,61 @@
1+#ifndef __BASETHREADDECODERTEST_H__
2+#define __BASETHREADDECODERTEST_H__
3+
4+#include "test_stdint.h"
5+#include <limits.h>
6+#include <fstream>
7+#include "codec_api.h"
8+
9+#include "utils/BufferedData.h"
10+
11+class BaseThreadDecoderTest {
12+ public:
13+ struct Plane {
14+ const uint8_t* data;
15+ int width;
16+ int height;
17+ int stride;
18+ };
19+
20+ struct Frame {
21+ Plane y;
22+ Plane u;
23+ Plane v;
24+ };
25+
26+ typedef enum tagDecodeStatus {
27+ OpenFile,
28+ Decoding,
29+ EndOfStream,
30+ End
31+ } eDecodeStatus;
32+
33+ struct Callback {
34+ virtual void onDecodeFrame (const Frame& frame) = 0;
35+ };
36+
37+ BaseThreadDecoderTest();
38+ int32_t SetUp();
39+ void TearDown();
40+ bool ThreadDecodeFile (const char* fileName, Callback* cbk);
41+
42+ bool Open (const char* fileName);
43+ bool DecodeNextFrame (Callback* cbk);
44+ ISVCDecoder* decoder_;
45+
46+ private:
47+ void DecodeFrame (const uint8_t* src, size_t sliceSize, Callback* cbk);
48+ void FlushFrame (Callback* cbk);
49+
50+ std::ifstream file_;
51+ BufferedData buf_;
52+ BufferedData buf[16];
53+ SBufferInfo sBufInfo;
54+ uint8_t* pData[3];
55+ uint64_t uiTimeStamp;
56+ FILE* pYuvFile;
57+ bool bEnableYuvDumpTest;
58+ eDecodeStatus decodeStatus_;
59+};
60+
61+#endif //__BASETHREADDECODERTEST_H__

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t