diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-06-15 12:40:01 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-06-15 12:40:01 +0200 |
commit | 8537abc2ef3cff4e2a909ff2f78574b0da73bda2 (patch) | |
tree | db4ab486f7abc89e373095db965b143e491ab12a | |
parent | 91fc66f9c89f786f2f13c6905d540f0ab276307a (diff) | |
download | gst-plugins-fsl-vpu-8537abc2ef3cff4e2a909ff2f78574b0da73bda2.tar.gz gst-plugins-fsl-vpu-8537abc2ef3cff4e2a909ff2f78574b0da73bda2.tar.xz |
vpu decoder: factor out reqbufs_mmap
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rwxr-xr-x | src/mfw_gst_vpu_decoder.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/mfw_gst_vpu_decoder.c b/src/mfw_gst_vpu_decoder.c index 8a6090a..e0bea24 100755 --- a/src/mfw_gst_vpu_decoder.c +++ b/src/mfw_gst_vpu_decoder.c @@ -245,15 +245,14 @@ static void mfw_gst_vpudec_buffers_unref(GstVPU_Dec *vpu_dec) } } -static struct v4l2_requestbuffers reqs = { - .count = NUM_BUFFERS, - .type = V4L2_BUF_TYPE_VIDEO_CAPTURE, - .memory = V4L2_MEMORY_MMAP, -}; - -static int mfw_gst_vpudec_reqbufs(GstVPU_Dec *vpu_dec) +static int mfw_gst_vpudec_reqbufs_mmap(GstVPU_Dec *vpu_dec) { int ret, i; + struct v4l2_requestbuffers reqs = { + .count = NUM_BUFFERS, + .type = V4L2_BUF_TYPE_VIDEO_CAPTURE, + .memory = V4L2_MEMORY_MMAP, + }; ret = ioctl(vpu_dec->vpu_fd, VIDIOC_REQBUFS, &reqs); if (ret) { @@ -295,6 +294,19 @@ static int mfw_gst_vpudec_reqbufs(GstVPU_Dec *vpu_dec) return 0; } +static int mfw_gst_vpudec_reqbufs(GstVPU_Dec *vpu_dec) +{ + int ret; + + ret = mfw_gst_vpudec_reqbufs_mmap(vpu_dec); + if (!ret) { + GST_DEBUG_OBJECT(vpu_dec, "using v4l2 mmap buffers"); + return 0; + } + + return -1; +} + static GstFlowReturn mfw_gst_vpudec_vpu_init(GstVPU_Dec * vpu_dec) { GstCaps *caps; |