summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 6f3d0e7)
raw | patch | inline | side by side (parent: 6f3d0e7)
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | |
Tue, 26 Apr 2016 06:29:29 +0000 (09:29 +0300) | ||
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | |
Tue, 26 Apr 2016 06:29:29 +0000 (09:29 +0300) |
tests/kmscapture.cpp | patch | blob | history |
diff --git a/tests/kmscapture.cpp b/tests/kmscapture.cpp
index 3f1243b719daf0a787dd7aab843f43d0011d204c..bf2b61305cc2669d2656f0ea698e709ae3da5505 100644 (file)
--- a/tests/kmscapture.cpp
+++ b/tests/kmscapture.cpp
using namespace std;
using namespace kms;
using namespace std;
using namespace kms;
-enum buffer_provider {
- BUFFER_DRM = 0,
- BUFFER_V4L,
+enum class BufferProvider {
+ DRM,
+ V4L2,
};
class Camera
};
class Camera
public:
Camera(int camera_id, Card& card, Plane* plane, uint32_t x, uint32_t y,
uint32_t iw, uint32_t ih, PixelFormat pixfmt,
public:
Camera(int camera_id, Card& card, Plane* plane, uint32_t x, uint32_t y,
uint32_t iw, uint32_t ih, PixelFormat pixfmt,
- enum buffer_provider buffer_type);
+ BufferProvider buffer_type);
~Camera();
Camera(const Camera& other) = delete;
~Camera();
Camera(const Camera& other) = delete;
ExtFramebuffer* GetExtFrameBuffer(Card& card, int i, PixelFormat pixfmt);
int m_fd; /* camera file descriptor */
Plane* m_plane;
ExtFramebuffer* GetExtFrameBuffer(Card& card, int i, PixelFormat pixfmt);
int m_fd; /* camera file descriptor */
Plane* m_plane;
- enum buffer_provider m_buffer_type;
+ BufferProvider m_buffer_type;
vector<DumbFramebuffer*> m_fb; /* framebuffers for DRM buffers */
vector<ExtFramebuffer*> m_extfb; /* framebuffers for V4L2 buffers */
int m_prev_fb_index;
vector<DumbFramebuffer*> m_fb; /* framebuffers for DRM buffers */
vector<ExtFramebuffer*> m_extfb; /* framebuffers for V4L2 buffers */
int m_prev_fb_index;
Camera::Camera(int camera_id, Card& card, Plane* plane, uint32_t x, uint32_t y,
uint32_t iw, uint32_t ih, PixelFormat pixfmt,
Camera::Camera(int camera_id, Card& card, Plane* plane, uint32_t x, uint32_t y,
uint32_t iw, uint32_t ih, PixelFormat pixfmt,
- enum buffer_provider buffer_type)
+ BufferProvider buffer_type)
{
char dev_name[20];
int r, i;
{
char dev_name[20];
int r, i;
uint32_t v4l_mem;
m_buffer_type = buffer_type;
uint32_t v4l_mem;
m_buffer_type = buffer_type;
- if (m_buffer_type == BUFFER_V4L)
+ if (m_buffer_type == BufferProvider::V4L2)
v4l_mem = V4L2_MEMORY_MMAP;
else
v4l_mem = V4L2_MEMORY_DMABUF;
v4l_mem = V4L2_MEMORY_MMAP;
else
v4l_mem = V4L2_MEMORY_DMABUF;
@@ -170,19 +170,19 @@ Camera::Camera(int camera_id, Card& card, Plane* plane, uint32_t x, uint32_t y,
DumbFramebuffer *fb = NULL;
ExtFramebuffer *extfb = NULL;
DumbFramebuffer *fb = NULL;
ExtFramebuffer *extfb = NULL;
- if (m_buffer_type == BUFFER_V4L)
+ if (m_buffer_type == BufferProvider::V4L2)
extfb = GetExtFrameBuffer(card, i, pixfmt);
else
fb = new DumbFramebuffer(card, m_in_width,
m_in_height, pixfmt);
v4lbuf.index = i;
extfb = GetExtFrameBuffer(card, i, pixfmt);
else
fb = new DumbFramebuffer(card, m_in_width,
m_in_height, pixfmt);
v4lbuf.index = i;
- if (m_buffer_type == BUFFER_DRM)
+ if (m_buffer_type == BufferProvider::DRM)
v4lbuf.m.fd = fb->prime_fd(0);
r = ioctl(m_fd, VIDIOC_QBUF, &v4lbuf);
ASSERT(r == 0);
v4lbuf.m.fd = fb->prime_fd(0);
r = ioctl(m_fd, VIDIOC_QBUF, &v4lbuf);
ASSERT(r == 0);
- if (m_buffer_type == BUFFER_V4L)
+ if (m_buffer_type == BufferProvider::V4L2)
m_extfb.push_back(extfb);
else
m_fb.push_back(fb);
m_extfb.push_back(extfb);
else
m_fb.push_back(fb);
int fb_index;
uint32_t v4l_mem;
int fb_index;
uint32_t v4l_mem;
- if (m_buffer_type == BUFFER_V4L)
+ if (m_buffer_type == BufferProvider::V4L2)
v4l_mem = V4L2_MEMORY_MMAP;
else
v4l_mem = V4L2_MEMORY_DMABUF;
v4l_mem = V4L2_MEMORY_MMAP;
else
v4l_mem = V4L2_MEMORY_DMABUF;
}
fb_index = v4l2buf.index;
}
fb_index = v4l2buf.index;
- if (m_buffer_type == BUFFER_V4L)
+ if (m_buffer_type == BufferProvider::V4L2)
r = crtc->set_plane(m_plane, *m_extfb[fb_index],
m_out_x, m_out_y, m_out_width, m_out_height,
0, 0, m_in_width, m_in_height);
r = crtc->set_plane(m_plane, *m_extfb[fb_index],
m_out_x, m_out_y, m_out_width, m_out_height,
0, 0, m_in_width, m_in_height);
v4l2buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
v4l2buf.memory = v4l_mem;
v4l2buf.index = m_prev_fb_index;
v4l2buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
v4l2buf.memory = v4l_mem;
v4l2buf.index = m_prev_fb_index;
- if (m_buffer_type == BUFFER_DRM)
+ if (m_buffer_type == BufferProvider::DRM)
v4l2buf.m.fd = m_fb[m_prev_fb_index]->prime_fd(0);
r = ioctl(m_fd, VIDIOC_QBUF, &v4l2buf);
ASSERT(r == 0);
v4l2buf.m.fd = m_fb[m_prev_fb_index]->prime_fd(0);
r = ioctl(m_fd, VIDIOC_QBUF, &v4l2buf);
ASSERT(r == 0);
int main(int argc, char** argv)
{
uint32_t w;
int main(int argc, char** argv)
{
uint32_t w;
- enum buffer_provider buffer_type = BUFFER_DRM;
+ BufferProvider buffer_type = BufferProvider::DRM;
int i;
auto camera_idx = count_cameras();
int i;
auto camera_idx = count_cameras();
Option("|buffer-type=", [&](string s)
{
if (!s.compare("v4l"))
Option("|buffer-type=", [&](string s)
{
if (!s.compare("v4l"))
- buffer_type = BUFFER_V4L;
+ buffer_type = BufferProvider::V4L2;
else if (s.compare("drm"))
printf("invalid buffer-type: %s\n", s.c_str());
}),
else if (s.compare("drm"))
printf("invalid buffer-type: %s\n", s.c_str());
}),
auto crtc = conn->get_current_crtc();
printf("Display: %dx%d\n", crtc->width(), crtc->height());
printf("Buffer provider: %s\n",
auto crtc = conn->get_current_crtc();
printf("Display: %dx%d\n", crtc->width(), crtc->height());
printf("Buffer provider: %s\n",
- buffer_type == BUFFER_V4L? "V4L" : "DRM");
+ buffer_type == BufferProvider::V4L2? "V4L" : "DRM");
w = crtc->width() / nr_cameras;
vector<Camera*> cameras;
w = crtc->width() / nr_cameras;
vector<Camera*> cameras;