|
FFmpeg
|
#include <float.h>#include <stdio.h>#include <string.h>#include "libavutil/common.h"#include "libavutil/hwcontext.h"#include "libavutil/hwcontext_cuda_internal.h"#include "libavutil/cuda_check.h"#include "libavutil/internal.h"#include "libavutil/mem.h"#include "libavutil/opt.h"#include "libavutil/pixdesc.h"#include "libavutil/refstruct.h"#include "libswscale/filters.h"#include "avfilter.h"#include "filters.h"#include "scale_eval.h"#include "video.h"#include "cuda/load_helper.h"#include "vf_scale_cuda.h"Go to the source code of this file.
Data Structures | |
| struct | format_entry |
| struct | CUDAScaleFilter |
| struct | CUDATex |
| struct | CUDAScaleContext |
Macros | |
| #define | DIV_UP(a, b) |
| #define | BLOCKX 32 |
| #define | BLOCKY 16 |
| #define | CHECK_CU(x) |
| #define | OFFSET(x) |
| #define | FLAGS (AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM) |
Enumerations | |
| enum | { INTERP_ALGO_DEFAULT , INTERP_ALGO_NEAREST , INTERP_ALGO_BILINEAR , INTERP_ALGO_BICUBIC , INTERP_ALGO_LANCZOS , INTERP_ALGO_COUNT } |
| enum | { FILTER_OUT , FILTER_TMP , FILTER_NB } |
Functions | |
| static av_cold int | cudascale_init (AVFilterContext *ctx) |
| static void | filter_uninit (CudaFunctions *cu, CUDAScaleFilter *filter) |
| static void | cuda_tex_uninit (CudaFunctions *cu, CUDATex *t) |
| static av_cold void | cudascale_uninit (AVFilterContext *ctx) |
| static av_cold int | init_hwframe_ctx (CUDAScaleContext *s, AVBufferRef *device_ctx, int width, int height) |
| static av_cold int | inter_buf_init (AVFilterContext *ctx, int out_width, int in_height) |
| static int | format_is_supported (enum AVPixelFormat fmt) |
| static const char * | get_format_name (enum AVPixelFormat fmt) |
| static av_cold void | set_format_info (AVFilterContext *ctx, enum AVPixelFormat in_format, enum AVPixelFormat out_format) |
| static av_cold int | init_processing_chain (AVFilterContext *ctx, int in_width, int in_height, int out_width, int out_height) |
| static av_cold int | cudascale_load_functions (AVFilterContext *ctx) |
| static av_cold int | cudascale_filter_init (AVFilterContext *ctx, CUDAScaleFilter *f, int src_size, int dst_size, double virtual_size) |
| static av_cold int | cudascale_setup_filters (AVFilterContext *ctx) |
| static av_cold int | cudascale_config_props (AVFilterLink *outlink) |
| static int | cuda_tex_map_frame (AVFilterContext *ctx, const AVFrame *frame, const int depths[4], const int channels[4], CUDATex *tex) |
| static int | call_resize_kernel (AVFilterContext *ctx, CUfunction func, const CUtexObject src_tex[4], int src_left, int src_top, int src_width, int src_height, const CUdeviceptr out_data[4], int dst_width, int dst_height, int dst_pitch, int mpeg_range, const CUDAScaleFilter *filter) |
| static int | scalecuda_resize (AVFilterContext *ctx, int pass, const CUDATex *out, const CUDATex *in) |
| static int | cudascale_scale (AVFilterContext *ctx, AVFrame *out, AVFrame *in) |
| static int | cudascale_filter_frame (AVFilterLink *link, AVFrame *in) |
| static AVFrame * | cudascale_get_video_buffer (AVFilterLink *inlink, int w, int h) |
Variables | |
| static const struct format_entry | supported_formats [] |
| static const AVOption | options [] |
| static const AVClass | cudascale_class |
| static const AVFilterPad | cudascale_inputs [] |
| static const AVFilterPad | cudascale_outputs [] |
| const FFFilter | ff_vf_scale_cuda |
Definition at line 76 of file vf_scale_cuda.c.
Referenced by call_resize_kernel().
| #define BLOCKX 32 |
Definition at line 77 of file vf_scale_cuda.c.
| #define BLOCKY 16 |
Definition at line 78 of file vf_scale_cuda.c.
| #define CHECK_CU | ( | x | ) |
Definition at line 80 of file vf_scale_cuda.c.
Referenced by call_resize_kernel(), cuda_tex_map_frame(), cudascale_filter_frame(), cudascale_filter_init(), cudascale_load_functions(), cudascale_setup_filters(), cudascale_uninit(), and inter_buf_init().
| #define OFFSET | ( | x | ) |
Definition at line 1012 of file vf_scale_cuda.c.
| #define FLAGS (AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM) |
Definition at line 1013 of file vf_scale_cuda.c.
| anonymous enum |
| Enumerator | |
|---|---|
| INTERP_ALGO_DEFAULT | |
| INTERP_ALGO_NEAREST | |
| INTERP_ALGO_BILINEAR | |
| INTERP_ALGO_BICUBIC | |
| INTERP_ALGO_LANCZOS | |
| INTERP_ALGO_COUNT | |
Definition at line 82 of file vf_scale_cuda.c.
| anonymous enum |
| Enumerator | |
|---|---|
| FILTER_OUT | |
| FILTER_TMP | |
| FILTER_NB | |
Definition at line 93 of file vf_scale_cuda.c.
|
static |
Definition at line 164 of file vf_scale_cuda.c.
|
static |
Definition at line 179 of file vf_scale_cuda.c.
Referenced by cudascale_uninit().
|
static |
Definition at line 188 of file vf_scale_cuda.c.
Referenced by cuda_tex_map_frame(), cudascale_scale(), cudascale_uninit(), and inter_buf_init().
|
static |
Definition at line 200 of file vf_scale_cuda.c.
|
static |
Definition at line 229 of file vf_scale_cuda.c.
Referenced by init_processing_chain().
|
static |
Definition at line 266 of file vf_scale_cuda.c.
Referenced by cudascale_setup_filters().
|
static |
Definition at line 329 of file vf_scale_cuda.c.
Referenced by init_processing_chain().
|
static |
Definition at line 337 of file vf_scale_cuda.c.
Referenced by cudascale_load_functions().
|
static |
Definition at line 345 of file vf_scale_cuda.c.
Referenced by init_processing_chain().
|
static |
Definition at line 371 of file vf_scale_cuda.c.
Referenced by cudascale_config_props().
|
static |
Definition at line 436 of file vf_scale_cuda.c.
Referenced by cudascale_config_props().
|
static |
Definition at line 531 of file vf_scale_cuda.c.
Referenced by cudascale_setup_filters().
|
static |
Definition at line 608 of file vf_scale_cuda.c.
Referenced by cudascale_config_props().
|
static |
Definition at line 680 of file vf_scale_cuda.c.
|
static |
Definition at line 757 of file vf_scale_cuda.c.
Referenced by cudascale_scale().
|
static |
Definition at line 819 of file vf_scale_cuda.c.
Referenced by scalecuda_resize().
|
static |
Definition at line 861 of file vf_scale_cuda.c.
Referenced by cudascale_scale().
|
static |
Definition at line 901 of file vf_scale_cuda.c.
Referenced by cudascale_filter_frame().
|
static |
Definition at line 956 of file vf_scale_cuda.c.
|
static |
Definition at line 1003 of file vf_scale_cuda.c.
|
static |
Definition at line 52 of file vf_scale_cuda.c.
|
static |
Definition at line 1014 of file vf_scale_cuda.c.
|
static |
Definition at line 1036 of file vf_scale_cuda.c.
|
static |
Definition at line 1043 of file vf_scale_cuda.c.
|
static |
Definition at line 1052 of file vf_scale_cuda.c.
| const FFFilter ff_vf_scale_cuda |
Definition at line 1060 of file vf_scale_cuda.c.