syureyiastyleb53f89012 years agoHistory
64 lines · 1.9 KB · C++
RawDownload
#include <string.h>//memset/memcpy#include "utils/DataGenerator.h"#include "utils/BufferedData.h"#include "utils/FileInputStream.h" using namespace std;  bool YUVPixelDataGenerator (uint8_t* pPointer, int32_t iWidth, int32_t iHeight, int32_t iStride) {#define SRC_FRAME_WIDTH (160)#define SRC_FRAME_HEIGHT (96)   if (SRC_FRAME_WIDTH - iWidth <= 0 || SRC_FRAME_HEIGHT - iHeight <= 0) {    return false;  }   const int32_t kiFrameSize = SRC_FRAME_WIDTH * SRC_FRAME_HEIGHT;  BufferedData sBuf;  sBuf.SetLength (kiFrameSize);  if (sBuf.Length() != (size_t)kiFrameSize) {    return false;  }   FileInputStream fileStream;#if defined(ANDROID_NDK)  if (!fileStream.Open ("/sdcard/res/CiscoVT2people_160x96_6fps.yuv")) {#else  if (!fileStream.Open ("res/CiscoVT2people_160x96_6fps.yuv")) {#endif    return false;  }  if (fileStream.read (sBuf.data(), kiFrameSize) == kiFrameSize) {    int32_t iStartPosX = rand() % (SRC_FRAME_WIDTH - iWidth);    int32_t iStartPosY = rand() % (SRC_FRAME_HEIGHT - iHeight);    uint8_t* pSrcPointer = sBuf.data() + iStartPosX + iStartPosY * SRC_FRAME_WIDTH;    uint8_t* pLocalPointer = pPointer;     for (int j = 0; j < iHeight; j++) {      memcpy (pLocalPointer, pSrcPointer, iWidth * sizeof (uint8_t));      pLocalPointer += iStride;      pSrcPointer += SRC_FRAME_WIDTH;    }    return true;  }  return false;} void RandomPixelDataGenerator (uint8_t* pPointer, int32_t iWidth, int32_t iHeight, int32_t iStride) {  uint8_t* pLocalPointer = pPointer;  for (int32_t j = 0; j < iHeight; j++) {    for (int32_t i = 0; i < iWidth; i++) {      pLocalPointer[i] = rand() % 256;    }    pLocalPointer += iStride;  }}  void RandomResidueDataGenerator (uint16_t* pPointer, int32_t iWidth, int32_t iHeight, int32_t iStride) {} void RandomCoeffDataGenerator (uint16_t* pPointer, int32_t iWidth, int32_t iHeight, int32_t iStride) {} 

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