Go to the source code of this file.
Generate a frame packed video, by combining two views in a single surface.
Definition in file vf_framepack.c.
◆ LEFT
◆ RIGHT
◆ OFFSET
◆ query_formats()
◆ framepack_uninit()
◆ config_output()
◆ horizontal_frame_pack()
◆ vertical_frame_pack()
◆ spatial_frame_pack()
◆ try_push_frame()
◆ filter_frame_left()
◆ filter_frame_right()
◆ request_frame()
◆ AVFILTER_DEFINE_CLASS()
AVFILTER_DEFINE_CLASS |
( |
framepack |
| ) |
|
◆ formats_supported
◆ framepack_options
◆ framepack_inputs
Initial value:= {
{
.name = "left",
.needs_fifo = 1,
},
{
.name = "right",
.needs_fifo = 1,
},
}
Definition at line 386 of file vf_framepack.c.
◆ framepack_outputs
Initial value:= {
{
.name = "packed",
},
}
Definition at line 402 of file vf_framepack.c.
◆ ff_vf_framepack
Initial value:= {
.name = "framepack",
.priv_class = &framepack_class,
}
Definition at line 412 of file vf_framepack.c.
static const AVFilterPad framepack_outputs[]
static int filter_frame_right(AVFilterLink *inlink, AVFrame *frame)
@ AV_STEREO3D_SIDEBYSIDE
Views are next to each other.
static int filter_frame_left(AVFilterLink *inlink, AVFrame *frame)
@ AV_STEREO3D_FRAMESEQUENCE
Views are alternated temporally.
@ AV_PIX_FMT_YUVJ422P
planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting col...
@ AV_STEREO3D_LINES
Views are packed per line, as if interlaced.
@ AV_PIX_FMT_YUVA420P
planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample format(the sample packing is implied by the sample format) and sample rate. The lists are not just lists
static const AVFilterPad outputs[]
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
@ AV_PIX_FMT_YUVJ444P
planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting col...
static int query_formats(AVFilterContext *ctx)
@ AV_PIX_FMT_YUVJ420P
planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting col...
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several inputs
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
static int config_output(AVFilterLink *outlink)
@ AV_STEREO3D_TOPBOTTOM
Views are on top of each other.
@ AV_PIX_FMT_YUVJ440P
planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range
static av_cold void framepack_uninit(AVFilterContext *ctx)
@ AV_STEREO3D_COLUMNS
Views are packed per column.
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
static int request_frame(AVFilterLink *outlink)
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
static const AVFilterPad framepack_inputs[]
@ AV_PIX_FMT_YUV410P
planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
static av_cold int uninit(AVCodecContext *avctx)