Go to the source code of this file.
filter for upsampling or downsampling a progressive source
Definition in file vf_framerate.c.
◆ DEBUG
◆ OFFSET
◆ FRAMERATE_FLAG_SCD
#define FRAMERATE_FLAG_SCD 01 |
◆ BLEND_FRAME_FUNC
#define BLEND_FRAME_FUNC |
( |
|
nbits | ) |
|
Value:
{ \
uint##nbits##_t *dstw = (uint##nbits##_t *)dst; \
uint##nbits##_t *src1w = (uint##nbits##_t *)
src1; \
uint##nbits##_t *src2w = (uint##nbits##_t *)src2; \
int bytes = nbits / 8; \
width /= bytes; \
src1_linesize /= bytes; \
src2_linesize /= bytes; \
dst_linesize /= bytes; \
src1w += src1_linesize; \
src2w += src2_linesize; \
dstw += dst_linesize; \
} \
}
Definition at line 233 of file vf_framerate.c.
◆ AVFILTER_DEFINE_CLASS()
◆ get_scene_score()
◆ filter_slice()
◆ blend_frames()
◆ process_work_frame()
◆ init()
◆ uninit()
◆ ff_framerate_init()
◆ config_input()
◆ activate()
◆ config_output()
◆ framerate_options
Initial value:= {
{
"interp_start",
"point to start linear interpolation",
OFFSET(interp_start),
AV_OPT_TYPE_INT, {.i64=15}, 0, 255,
V|
F },
{
"interp_end",
"point to end linear interpolation",
OFFSET(interp_end),
AV_OPT_TYPE_INT, {.i64=240}, 0, 255,
V|
F },
}
Definition at line 49 of file vf_framerate.c.
◆ pix_fmts
◆ framerate_inputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 419 of file vf_framerate.c.
◆ framerate_outputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 427 of file vf_framerate.c.
◆ ff_vf_framerate
Initial value:= {
.name = "framerate",
.description =
NULL_IF_CONFIG_SMALL(
"Upsamples or downsamples progressive source between specified frame rates."),
.priv_class = &framerate_class,
}
Definition at line 435 of file vf_framerate.c.
@ AV_OPT_TYPE_VIDEO_RATE
offset must point to AVRational
#define FILTER_PIXFMTS_ARRAY(array)
#define AV_PIX_FMT_YUV420P10
static uint8_t half(int a, int b)
static int activate(AVFilterContext *ctx)
@ AV_PIX_FMT_YUV440P
planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
#define FRAMERATE_FLAG_SCD
#define AV_PIX_FMT_YUV422P9
#define BLEND_FACTOR_DEPTH(n)
#define AV_PIX_FMT_YUV444P10
@ AV_PIX_FMT_YUVJ411P
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor ...
@ AV_PIX_FMT_YUVJ422P
planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting col...
static int blend_frames(AVFilterContext *ctx, int interpolate)
#define AV_PIX_FMT_YUV420P9
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
#define FILTER_INPUTS(array)
@ AV_PIX_FMT_YUVJ444P
planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting col...
@ AV_PIX_FMT_YUVJ420P
planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting col...
#define AV_PIX_FMT_YUV422P10
#define BLEND_FUNC_PARAMS
static av_cold int init(AVFilterContext *ctx)
static enum AVPixelFormat pix_fmts[]
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
#define AV_PIX_FMT_YUV422P12
#define AV_PIX_FMT_YUV444P12
static const AVFilterPad framerate_outputs[]
@ AV_PIX_FMT_YUVJ440P
planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range
#define AV_PIX_FMT_YUV444P9
static int config_input(AVFilterLink *inlink)
#define AV_PIX_FMT_YUV420P12
static const AVFilterPad framerate_inputs[]
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
static av_cold void uninit(AVFilterContext *ctx)
#define FILTER_OUTPUTS(array)
@ AV_PIX_FMT_YUV411P
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
#define flags(name, subs,...)
@ AV_PIX_FMT_YUV410P
planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
static int config_output(AVFilterLink *outlink)
The official guide to swscale for confused that consecutive non overlapping rectangles of slice_bottom special converter These generally are unscaled converters of common like for each output line the vertical scaler pulls lines from a ring buffer When the ring buffer does not contain the wanted line