#include #include #include #include #include #include #include #include #include #include #include #include #include #include TEST(AstvideoPuller, BasicRead) { ast_video::RawVideoBuffer out; bool have_hardware = false; if (access("/dev/video", F_OK) != -1) { ast_video::SimpleVideoPuller p; p.initialize(); out = p.readVideo(); } else { FILE* fp = fopen("test_resources/ubuntu_444_800x600_0chrom_0lum.bin", "rb"); if (fp) { size_t newLen = fread(out.buffer.data(), sizeof(char), out.buffer.size() * sizeof(long), fp); if (ferror(fp) != 0) { fputs("Error reading file", stderr); } fclose(fp); out.buffer.resize(newLen); out.mode = ast_video::YuvMode::YUV444; out.width = 800; out.height = 600; out.ySelector = 0; out.uvSelector = 0; } } FILE* fp = fopen("/tmp/screendata.bin", "wb"); fwrite(out.buffer.data(), sizeof(char), out.buffer.size(), fp); fclose(fp); ast_video::AstJpegDecoder d; d.decode(out.buffer, out.width, out.height, out.mode, out.ySelector, out.uvSelector); }