Go to the source code of this file.
|
| | AVFILTER_DEFINE_CLASS (thumbnail_cuda) |
| |
| static av_cold int | init (AVFilterContext *ctx) |
| |
| static double | frame_sum_square_err (const int *hist, const double *median) |
| | Compute Sum-square deviation to estimate "closeness".
|
| |
| static AVFrame * | get_best_frame (AVFilterContext *ctx) |
| |
| static int | thumbnail_kernel (AVFilterContext *ctx, CUfunction func, int channels, int *histogram, uint8_t *src_dptr, int src_width, int src_height, int src_pitch, int pixel_size) |
| |
| static int | thumbnail (AVFilterContext *ctx, int *histogram, AVFrame *in) |
| |
| static int | filter_frame (AVFilterLink *inlink, AVFrame *frame) |
| |
| static av_cold void | uninit (AVFilterContext *ctx) |
| |
| static int | request_frame (AVFilterLink *link) |
| |
| static int | format_is_supported (enum AVPixelFormat fmt) |
| |
| static int | config_props (AVFilterLink *inlink) |
| |
◆ CHECK_CU
◆ HIST_SIZE
| #define HIST_SIZE (3*256) |
◆ DIV_UP
◆ BLOCKX
◆ BLOCKY
◆ OFFSET
◆ FLAGS
◆ AVFILTER_DEFINE_CLASS()
| AVFILTER_DEFINE_CLASS |
( |
thumbnail_cuda | | ) |
|
◆ init()
◆ frame_sum_square_err()
| static double frame_sum_square_err |
( |
const int * | hist, |
|
|
const double * | median ) |
|
static |
Compute Sum-square deviation to estimate "closeness".
- Parameters
-
| hist | color distribution histogram |
| median | average color distribution histogram |
- Returns
- sum of squared errors
Definition at line 111 of file vf_thumbnail_cuda.c.
Referenced by get_best_frame().
◆ get_best_frame()
◆ thumbnail_kernel()
| static int thumbnail_kernel |
( |
AVFilterContext * | ctx, |
|
|
CUfunction | func, |
|
|
int | channels, |
|
|
int * | histogram, |
|
|
uint8_t * | src_dptr, |
|
|
int | src_width, |
|
|
int | src_height, |
|
|
int | src_pitch, |
|
|
int | pixel_size ) |
|
static |
◆ thumbnail()
◆ filter_frame()
◆ uninit()
◆ request_frame()
◆ format_is_supported()
◆ config_props()
◆ supported_formats
Initial value:= {
}
#define AV_PIX_FMT_YUV444P12MSB
@ AV_PIX_FMT_NV12
planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (firs...
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
#define AV_PIX_FMT_YUV444P16
#define AV_PIX_FMT_YUV444P10MSB
Definition at line 42 of file vf_thumbnail_cuda.c.
◆ thumbnail_cuda_options
Initial value:= {
}
@ AV_OPT_TYPE_INT
Underlying C type is int.
Definition at line 84 of file vf_thumbnail_cuda.c.
◆ thumbnail_cuda_inputs
Initial value:= {
{
.name = "default",
},
}
static int filter_frame(DBEDecodeContext *s, AVFrame *frame)
static int config_props(AVBitStreamFilterLink *link)
Definition at line 429 of file vf_thumbnail_cuda.c.
◆ thumbnail_cuda_outputs
Initial value:= {
{
.name = "default",
},
}
static int request_frame(AVFilterLink *outlink)
Definition at line 438 of file vf_thumbnail_cuda.c.
◆ ff_vf_thumbnail_cuda
Initial value:= {
.p.name = "thumbnail_cuda",
.p.description =
NULL_IF_CONFIG_SMALL(
"Select the most representative frame in a given sequence of consecutive frames using CUDA."),
.p.priv_class = &thumbnail_cuda_class,
}
int(* init)(AVBSFContext *ctx)
static av_cold void uninit(AVBitStreamFilterContext *ctx)
#define FILTER_INPUTS(array)
#define FILTER_OUTPUTS(array)
#define FF_FILTER_FLAG_HWFRAME_AWARE
The filter is aware of hardware frames, and any hardware frame context should not be automatically pr...
#define FILTER_SINGLE_PIXFMT(pix_fmt_)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
@ AV_PIX_FMT_CUDA
HW acceleration through CUDA.
static const AVFilterPad thumbnail_cuda_outputs[]
static const AVFilterPad thumbnail_cuda_inputs[]
Definition at line 446 of file vf_thumbnail_cuda.c.