Commit b6db3859 authored by Luca Barbato's avatar Luca Barbato

v4l2: use C99 struct initializer

Remove some unneeded memsets.
parent 0efd48df
...@@ -169,14 +169,11 @@ static int device_init(AVFormatContext *ctx, int *width, int *height, ...@@ -169,14 +169,11 @@ static int device_init(AVFormatContext *ctx, int *width, int *height,
{ {
struct video_data *s = ctx->priv_data; struct video_data *s = ctx->priv_data;
int fd = s->fd; int fd = s->fd;
struct v4l2_format fmt; struct v4l2_format fmt = { .type = V4L2_BUF_TYPE_VIDEO_CAPTURE };
struct v4l2_pix_format *pix = &fmt.fmt.pix; struct v4l2_pix_format *pix = &fmt.fmt.pix;
int res; int res;
memset(&fmt, 0, sizeof(struct v4l2_format));
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
pix->width = *width; pix->width = *width;
pix->height = *height; pix->height = *height;
pix->pixelformat = pix_fmt; pix->pixelformat = pix_fmt;
...@@ -334,14 +331,14 @@ static void list_formats(AVFormatContext *ctx, int fd, int type) ...@@ -334,14 +331,14 @@ static void list_formats(AVFormatContext *ctx, int fd, int type)
static int mmap_init(AVFormatContext *ctx) static int mmap_init(AVFormatContext *ctx)
{ {
struct video_data *s = ctx->priv_data;
struct v4l2_requestbuffers req;
int i, res; int i, res;
struct video_data *s = ctx->priv_data;
struct v4l2_requestbuffers req = {
.type = V4L2_BUF_TYPE_VIDEO_CAPTURE,
.count = desired_video_buffers,
.memory = V4L2_MEMORY_MMAP
};
memset(&req, 0, sizeof(struct v4l2_requestbuffers));
req.count = desired_video_buffers;
req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
req.memory = V4L2_MEMORY_MMAP;
res = ioctl(s->fd, VIDIOC_REQBUFS, &req); res = ioctl(s->fd, VIDIOC_REQBUFS, &req);
if (res < 0) { if (res < 0) {
if (errno == EINVAL) { if (errno == EINVAL) {
...@@ -374,12 +371,12 @@ static int mmap_init(AVFormatContext *ctx) ...@@ -374,12 +371,12 @@ static int mmap_init(AVFormatContext *ctx)
} }
for (i = 0; i < req.count; i++) { for (i = 0; i < req.count; i++) {
struct v4l2_buffer buf; struct v4l2_buffer buf = {
.type = V4L2_BUF_TYPE_VIDEO_CAPTURE,
.index = i,
.memory = V4L2_MEMORY_MMAP
};
memset(&buf, 0, sizeof(struct v4l2_buffer));
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
buf.index = i;
res = ioctl(s->fd, VIDIOC_QUERYBUF, &buf); res = ioctl(s->fd, VIDIOC_QUERYBUF, &buf);
if (res < 0) { if (res < 0) {
av_log(ctx, AV_LOG_ERROR, "ioctl(VIDIOC_QUERYBUF)\n"); av_log(ctx, AV_LOG_ERROR, "ioctl(VIDIOC_QUERYBUF)\n");
...@@ -411,14 +408,13 @@ static int mmap_init(AVFormatContext *ctx) ...@@ -411,14 +408,13 @@ static int mmap_init(AVFormatContext *ctx)
static void mmap_release_buffer(AVPacket *pkt) static void mmap_release_buffer(AVPacket *pkt)
{ {
struct v4l2_buffer buf; struct v4l2_buffer buf = { 0 };
int res, fd; int res, fd;
struct buff_data *buf_descriptor = pkt->priv; struct buff_data *buf_descriptor = pkt->priv;
if (pkt->data == NULL) if (pkt->data == NULL)
return; return;
memset(&buf, 0, sizeof(struct v4l2_buffer));
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP; buf.memory = V4L2_MEMORY_MMAP;
buf.index = buf_descriptor->index; buf.index = buf_descriptor->index;
...@@ -437,15 +433,14 @@ static void mmap_release_buffer(AVPacket *pkt) ...@@ -437,15 +433,14 @@ static void mmap_release_buffer(AVPacket *pkt)
static int mmap_read_frame(AVFormatContext *ctx, AVPacket *pkt) static int mmap_read_frame(AVFormatContext *ctx, AVPacket *pkt)
{ {
struct video_data *s = ctx->priv_data; struct video_data *s = ctx->priv_data;
struct v4l2_buffer buf; struct v4l2_buffer buf = {
.type = V4L2_BUF_TYPE_VIDEO_CAPTURE,
.memory = V4L2_MEMORY_MMAP
};
struct buff_data *buf_descriptor; struct buff_data *buf_descriptor;
struct pollfd p = { .fd = s->fd, .events = POLLIN }; struct pollfd p = { .fd = s->fd, .events = POLLIN };
int res; int res;
memset(&buf, 0, sizeof(struct v4l2_buffer));
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
res = poll(&p, 1, s->timeout); res = poll(&p, 1, s->timeout);
if (res < 0) if (res < 0)
return AVERROR(errno); return AVERROR(errno);
...@@ -504,12 +499,11 @@ static int mmap_start(AVFormatContext *ctx) ...@@ -504,12 +499,11 @@ static int mmap_start(AVFormatContext *ctx)
int i, res; int i, res;
for (i = 0; i < s->buffers; i++) { for (i = 0; i < s->buffers; i++) {
struct v4l2_buffer buf; struct v4l2_buffer buf = {
.type = V4L2_BUF_TYPE_VIDEO_CAPTURE,
memset(&buf, 0, sizeof(struct v4l2_buffer)); .index = i,
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; .memory = V4L2_MEMORY_MMAP
buf.memory = V4L2_MEMORY_MMAP; };
buf.index = i;
res = ioctl(s->fd, VIDIOC_QBUF, &buf); res = ioctl(s->fd, VIDIOC_QBUF, &buf);
if (res < 0) { if (res < 0) {
...@@ -552,12 +546,12 @@ static void mmap_close(struct video_data *s) ...@@ -552,12 +546,12 @@ static void mmap_close(struct video_data *s)
static int v4l2_set_parameters(AVFormatContext *s1, AVFormatParameters *ap) static int v4l2_set_parameters(AVFormatContext *s1, AVFormatParameters *ap)
{ {
struct video_data *s = s1->priv_data; struct video_data *s = s1->priv_data;
struct v4l2_input input; struct v4l2_input input = { 0 };
struct v4l2_standard standard; struct v4l2_standard standard = { 0 };
struct v4l2_streamparm streamparm = { 0 }; struct v4l2_streamparm streamparm = { 0 };
struct v4l2_fract *tpf = &streamparm.parm.capture.timeperframe; struct v4l2_fract *tpf = &streamparm.parm.capture.timeperframe;
AVRational framerate_q = { 0 };
int i, ret; int i, ret;
AVRational framerate_q;
streamparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; streamparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
...@@ -569,7 +563,6 @@ static int v4l2_set_parameters(AVFormatContext *s1, AVFormatParameters *ap) ...@@ -569,7 +563,6 @@ static int v4l2_set_parameters(AVFormatContext *s1, AVFormatParameters *ap)
} }
/* set tv video input */ /* set tv video input */
memset (&input, 0, sizeof (input));
input.index = s->channel; input.index = s->channel;
if (ioctl(s->fd, VIDIOC_ENUMINPUT, &input) < 0) { if (ioctl(s->fd, VIDIOC_ENUMINPUT, &input) < 0) {
av_log(s1, AV_LOG_ERROR, "The V4L2 driver ioctl enum input failed:\n"); av_log(s1, AV_LOG_ERROR, "The V4L2 driver ioctl enum input failed:\n");
...@@ -589,7 +582,6 @@ static int v4l2_set_parameters(AVFormatContext *s1, AVFormatParameters *ap) ...@@ -589,7 +582,6 @@ static int v4l2_set_parameters(AVFormatContext *s1, AVFormatParameters *ap)
av_log(s1, AV_LOG_DEBUG, "The V4L2 driver set standard: %s\n", av_log(s1, AV_LOG_DEBUG, "The V4L2 driver set standard: %s\n",
s->standard); s->standard);
/* set tv standard */ /* set tv standard */
memset (&standard, 0, sizeof (standard));
for(i=0;;i++) { for(i=0;;i++) {
standard.index = i; standard.index = i;
if (ioctl(s->fd, VIDIOC_ENUMSTD, &standard) < 0) { if (ioctl(s->fd, VIDIOC_ENUMSTD, &standard) < 0) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment