|
FFmpeg
|
Frame rate up-conversion filter that synthesises intermediate frames using the NVIDIA Vulkan optical flow extension (VK_NV_optical_flow). More...
#include "libavutil/avassert.h"#include "libavutil/eval.h"#include "libavutil/internal.h"#include "libavutil/mem.h"#include "libavutil/opt.h"#include "libavutil/pixdesc.h"#include "vulkan_filter.h"#include "filters.h"#include "video.h"Go to the source code of this file.
Data Structures | |
| struct | GrayscalePushData |
| struct | InterpolatePushData |
| struct | FRUCFlowSlot |
| struct | FRUCVulkanContext |
Macros | |
| #define | FRUC_NB_SLOTS 2 |
| #define | OFFSET(x) |
| #define | FLAGS (AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_VIDEO_PARAM) |
Enumerations | |
| enum | var_name { VAR_SOURCE_FPS , VARS_NB } |
Functions | |
| AVFILTER_DEFINE_CLASS (fruc_vulkan) | |
| static VkFormat | pick_of_format (FRUCVulkanContext *s, VkOpticalFlowUsageFlagsNV usage, VkFormat preferred) |
| static int | create_of_image (FRUCVulkanContext *s, VkImage *img, VkDeviceMemory *mem, VkImageView *view, VkFormat format, int width, int height, VkOpticalFlowUsageFlagsNV of_usage, VkImageUsageFlags usage, VkImageCreateFlags create_flags) |
| static int | init_image_layouts (FRUCVulkanContext *s) |
| static int | packed_rgb_channel (const AVPixFmtDescriptor *desc, VkFormat vkfmt, int comp) |
| static int | packed_luma_channel (const AVPixFmtDescriptor *desc, VkFormat vkfmt) |
| static av_cold int | check_sw_format (AVFilterContext *avctx, enum AVPixelFormat sw_format) |
| static int | qf_transfer_preserves (FFVulkanContext *vkctx, uint32_t from, uint32_t to) |
| static av_cold int | init_filter (AVFilterContext *avctx) |
| static void | of_image_barrier (VkImageMemoryBarrier2 *bar, VkImage img, VkPipelineStageFlags2 src_stage, VkAccessFlags2 src_access, VkPipelineStageFlags2 dst_stage, VkAccessFlags2 dst_access) |
| static int | compute_flow (AVFilterContext *avctx) |
| static void | plane_wh (const AVPixFmtDescriptor *desc, int width, int height, int plane, uint32_t *w, uint32_t *h) |
| static int | interpolate_frame (AVFilterContext *avctx, AVFrame *out, float t) |
| static int | copy_frame (AVFilterContext *avctx, AVFrame *out, AVFrame *src) |
| static int | passthrough_frame (AVFilterContext *ctx, AVFrame **work, AVFrame *src) |
| static int | process_work_frame (AVFilterContext *ctx) |
| static int | activate (AVFilterContext *ctx) |
| static int | config_input (AVFilterLink *inlink) |
| static int | config_output (AVFilterLink *outlink) |
| static av_cold int | init (AVFilterContext *avctx) |
| static av_cold void | uninit (AVFilterContext *avctx) |
Variables | |
| const unsigned char | ff_fruc_grayscale_comp_spv_data [] |
| const unsigned int | ff_fruc_grayscale_comp_spv_len |
| const unsigned char | ff_fruc_interpolate_comp_spv_data [] |
| const unsigned int | ff_fruc_interpolate_comp_spv_len |
| static const char *const | var_names [] |
| static const AVOption | fruc_vulkan_options [] |
| static const AVFilterPad | fruc_vulkan_inputs [] |
| static const AVFilterPad | fruc_vulkan_outputs [] |
| const FFFilter | ff_vf_fruc_vulkan |
Frame rate up-conversion filter that synthesises intermediate frames using the NVIDIA Vulkan optical flow extension (VK_NV_optical_flow).
Definition in file vf_fruc_vulkan.c.
| #define FRUC_NB_SLOTS 2 |
Definition at line 71 of file vf_fruc_vulkan.c.
Referenced by compute_flow(), init_filter(), init_image_layouts(), interpolate_frame(), and uninit().
| #define OFFSET | ( | x | ) |
Definition at line 162 of file vf_fruc_vulkan.c.
| #define FLAGS (AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_VIDEO_PARAM) |
Definition at line 163 of file vf_fruc_vulkan.c.
| enum var_name |
| Enumerator | |
|---|---|
| VAR_SOURCE_FPS | |
| VARS_NB | |
Definition at line 50 of file vf_fruc_vulkan.c.
| AVFILTER_DEFINE_CLASS | ( | fruc_vulkan | ) |
|
static |
Definition at line 191 of file vf_fruc_vulkan.c.
Referenced by init_filter().
|
static |
Definition at line 232 of file vf_fruc_vulkan.c.
Referenced by init_filter().
|
static |
Definition at line 282 of file vf_fruc_vulkan.c.
Referenced by init_filter().
|
static |
Definition at line 335 of file vf_fruc_vulkan.c.
Referenced by init_filter().
|
static |
Definition at line 354 of file vf_fruc_vulkan.c.
Referenced by init_filter().
|
static |
Definition at line 367 of file vf_fruc_vulkan.c.
Referenced by init_filter().
|
static |
Definition at line 404 of file vf_fruc_vulkan.c.
Referenced by init_filter().
|
static |
Definition at line 415 of file vf_fruc_vulkan.c.
Referenced by config_output().
|
static |
Definition at line 865 of file vf_fruc_vulkan.c.
Referenced by compute_flow(), and interpolate_frame().
|
static |
Definition at line 889 of file vf_fruc_vulkan.c.
Referenced by interpolate_frame().
|
static |
Definition at line 1043 of file vf_fruc_vulkan.c.
Referenced by copy_frame(), and interpolate_frame().
|
static |
Definition at line 1054 of file vf_fruc_vulkan.c.
Referenced by process_work_frame().
|
static |
Definition at line 1189 of file vf_fruc_vulkan.c.
Referenced by passthrough_frame().
|
static |
Definition at line 1264 of file vf_fruc_vulkan.c.
Referenced by process_work_frame().
|
static |
Definition at line 1284 of file vf_fruc_vulkan.c.
Referenced by activate().
|
static |
Definition at line 1348 of file vf_fruc_vulkan.c.
|
static |
Definition at line 1425 of file vf_fruc_vulkan.c.
|
static |
Definition at line 1435 of file vf_fruc_vulkan.c.
|
static |
Definition at line 1511 of file vf_fruc_vulkan.c.
|
static |
Definition at line 1520 of file vf_fruc_vulkan.c.
|
extern |
Referenced by init_filter().
|
extern |
Referenced by init_filter().
|
extern |
Referenced by init_filter().
|
extern |
Referenced by init_filter().
|
static |
Definition at line 45 of file vf_fruc_vulkan.c.
|
static |
Definition at line 165 of file vf_fruc_vulkan.c.
|
static |
Definition at line 1572 of file vf_fruc_vulkan.c.
|
static |
Definition at line 1580 of file vf_fruc_vulkan.c.
| const FFFilter ff_vf_fruc_vulkan |
Definition at line 1588 of file vf_fruc_vulkan.c.