#include <fcntl.h>
#include <poll.h>
#include "libavcodec/avcodec.h"
-#include "libavcodec/internal.h"
#include "libavutil/pixdesc.h"
#include "v4l2_context.h"
#include "v4l2_buffers.h"
return ret;
}
-static int v4l2_bufref_to_buf(V4L2Buffer *out, int plane, const uint8_t* data, int size, int offset, AVBufferRef* bref)
+static int v4l2_bufref_to_buf(V4L2Buffer *out, int plane, const uint8_t* data, int size, int offset)
{
unsigned int bytesused, length;
h = AV_CEIL_RSHIFT(h, desc->log2_chroma_h);
}
size = frame->linesize[i] * h;
- ret = v4l2_bufref_to_buf(out, 0, frame->data[i], size, offset, frame->buf[i]);
+ ret = v4l2_bufref_to_buf(out, 0, frame->data[i], size, offset);
if (ret)
return ret;
offset += size;
}
for (i = 0; i < out->num_planes; i++) {
- ret = v4l2_bufref_to_buf(out, i, frame->buf[i]->data, frame->buf[i]->size, 0, frame->buf[i]);
+ ret = v4l2_bufref_to_buf(out, i, frame->buf[i]->data, frame->buf[i]->size, 0);
if (ret)
return ret;
}
return ret;
/* 2. get frame information */
- frame->key_frame = !!(avbuf->buf.flags & V4L2_BUF_FLAG_KEYFRAME);
+ if (avbuf->buf.flags & V4L2_BUF_FLAG_KEYFRAME)
+ frame->flags |= AV_FRAME_FLAG_KEY;
frame->color_primaries = v4l2_get_color_primaries(avbuf);
frame->colorspace = v4l2_get_color_space(avbuf);
frame->color_range = v4l2_get_color_range(avbuf);
{
int ret;
- ret = v4l2_bufref_to_buf(out, 0, pkt->data, pkt->size, 0, pkt->buf);
+ ret = v4l2_bufref_to_buf(out, 0, pkt->data, pkt->size, 0);
if (ret)
return ret;