FFmpeg
|
#include <stdint.h>
#include <linux/videodev2.h>
#include "libavutil/pixfmt.h"
#include "libavutil/frame.h"
#include "libavutil/rational.h"
#include "codec_id.h"
#include "packet.h"
#include "v4l2_buffers.h"
Go to the source code of this file.
Data Structures | |
struct | V4L2Context |
int ff_v4l2_context_init | ( | V4L2Context * | ctx | ) |
Initializes a V4L2Context.
[in] | ctx | A pointer to a V4L2Context. See V4L2Context description for required variables. |
Definition at line 708 of file v4l2_context.c.
Referenced by v4l2_configure_contexts(), and v4l2_try_start().
int ff_v4l2_context_set_format | ( | V4L2Context * | ctx | ) |
Sets the V4L2Context format in the v4l2 driver.
[in] | ctx | A pointer to a V4L2Context. See V4L2Context description for required variables. |
Definition at line 689 of file v4l2_context.c.
Referenced by ff_v4l2_m2m_codec_reinit(), and v4l2_configure_contexts().
int ff_v4l2_context_get_format | ( | V4L2Context * | ctx, |
int | probe | ||
) |
Queries the driver for a valid v4l2 format and copies it to the context.
[in] | ctx | A pointer to a V4L2Context. See V4L2Context description for required variables. |
[in] | probe | Probe only and ignore changes to the format. |
Definition at line 662 of file v4l2_context.c.
Referenced by ff_v4l2_m2m_codec_reinit(), and v4l2_probe_driver().
void ff_v4l2_context_release | ( | V4L2Context * | ctx | ) |
Releases a V4L2Context.
[in] | ctx | A pointer to a V4L2Context. The caller is reponsible for freeing it. It must not be used after calling this function. |
Definition at line 694 of file v4l2_context.c.
Referenced by ff_v4l2_m2m_codec_end(), ff_v4l2_m2m_codec_reinit(), and v4l2_m2m_destroy_context().
int ff_v4l2_context_set_status | ( | V4L2Context * | ctx, |
uint32_t | cmd | ||
) |
Sets the status of a V4L2Context.
[in] | ctx | A pointer to a V4L2Context. |
[in] | cmd | The status to set (VIDIOC_STREAMON or VIDIOC_STREAMOFF). Warning: If VIDIOC_STREAMOFF is sent to a buffer context that still has some frames buffered, those frames will be dropped. |
Definition at line 558 of file v4l2_context.c.
Referenced by ff_v4l2_m2m_codec_end(), ff_v4l2_m2m_codec_reinit(), v4l2_receive_packet(), v4l2_stop_decode(), v4l2_stop_encode(), and v4l2_try_start().
int ff_v4l2_context_dequeue_packet | ( | V4L2Context * | ctx, |
AVPacket * | pkt | ||
) |
Dequeues a buffer from a V4L2Context to an AVPacket.
The pkt must be non NULL.
[in] | ctx | The V4L2Context to dequeue from. |
[in,out] | pkt | The AVPacket to dequeue to. |
Definition at line 642 of file v4l2_context.c.
Referenced by v4l2_receive_packet().
int ff_v4l2_context_dequeue_frame | ( | V4L2Context * | ctx, |
AVFrame * | f, | ||
int | timeout | ||
) |
Dequeues a buffer from a V4L2Context to an AVFrame.
The frame must be non NULL.
[in] | ctx | The V4L2Context to dequeue from. |
[in,out] | f | The AVFrame to dequeue to. |
[in] | timeout | The timeout for dequeue (-1 to block, 0 to return immediately, or milliseconds) |
Definition at line 622 of file v4l2_context.c.
Referenced by v4l2_receive_frame().
int ff_v4l2_context_enqueue_packet | ( | V4L2Context * | ctx, |
const AVPacket * | pkt | ||
) |
Enqueues a buffer to a V4L2Context from an AVPacket.
The packet must be non NULL. When the size of the pkt is null, the buffer is not queued but a V4L2_DEC_CMD_STOP command is sent instead to the driver.
[in] | ctx | The V4L2Context to enqueue to. |
[in] | pkt | A pointer to an AVPacket. |
Definition at line 597 of file v4l2_context.c.
Referenced by v4l2_receive_frame().
int ff_v4l2_context_enqueue_frame | ( | V4L2Context * | ctx, |
const AVFrame * | f | ||
) |
Enqueues a buffer to a V4L2Context from an AVFrame.
The frame must be non NULL.
[in] | ctx | The V4L2Context to enqueue to. |
[in] | f | A pointer to an AVFrame to enqueue. |
Definition at line 572 of file v4l2_context.c.
Referenced by v4l2_send_frame().