FFmpeg
|
#include <stdio.h>
#include <string.h>
#include "libavutil/mem.h"
#include "libavutil/pixdesc.h"
#include "formats.h"
#include "opencl.h"
Go to the source code of this file.
Functions | |
int | ff_opencl_filter_query_formats (AVFilterContext *avctx) |
Return that all inputs and outputs support only AV_PIX_FMT_OPENCL. More... | |
static int | opencl_filter_set_device (AVFilterContext *avctx, AVBufferRef *device) |
int | ff_opencl_filter_config_input (AVFilterLink *inlink) |
Check that the input link contains a suitable hardware frames context and extract the device from it. More... | |
int | ff_opencl_filter_config_output (AVFilterLink *outlink) |
Create a suitable hardware frames context for the output. More... | |
int | ff_opencl_filter_init (AVFilterContext *avctx) |
Initialise an OpenCL filter context. More... | |
void | ff_opencl_filter_uninit (AVFilterContext *avctx) |
Uninitialise an OpenCL filter context. More... | |
int | ff_opencl_filter_load_program (AVFilterContext *avctx, const char **program_source_array, int nb_strings) |
Load a new OpenCL program from strings in memory. More... | |
int | ff_opencl_filter_load_program_from_file (AVFilterContext *avctx, const char *filename) |
Load a new OpenCL program from a file. More... | |
int | ff_opencl_filter_work_size_from_image (AVFilterContext *avctx, size_t *work_size, AVFrame *frame, int plane, int block_alignment) |
Find the work size needed needed for a given plane of an image. More... | |
void | ff_opencl_print_const_matrix_3x3 (AVBPrint *buf, const char *name_str, double mat[3][3]) |
Print a 3x3 matrix into a buffer as __constant array, which could be included in an OpenCL program. More... | |
int ff_opencl_filter_query_formats | ( | AVFilterContext * | avctx | ) |
|
static |
Definition at line 43 of file opencl.c.
Referenced by ff_opencl_filter_config_input(), and ff_opencl_filter_config_output().
int ff_opencl_filter_config_input | ( | AVFilterLink * | inlink | ) |
Check that the input link contains a suitable hardware frames context and extract the device from it.
Definition at line 60 of file opencl.c.
Referenced by program_opencl_init().
int ff_opencl_filter_config_output | ( | AVFilterLink * | outlink | ) |
Create a suitable hardware frames context for the output.
Definition at line 96 of file opencl.c.
Referenced by overlay_opencl_config_output(), program_opencl_config_output(), tonemap_opencl_config_output(), and transpose_opencl_config_output().
int ff_opencl_filter_init | ( | AVFilterContext * | avctx | ) |
Initialise an OpenCL filter context.
Definition at line 147 of file opencl.c.
Referenced by overlay_opencl_init(), and program_opencl_init().
void ff_opencl_filter_uninit | ( | AVFilterContext * | avctx | ) |
Uninitialise an OpenCL filter context.
Definition at line 156 of file opencl.c.
Referenced by avgblur_opencl_uninit(), colorkey_opencl_uninit(), convolution_opencl_uninit(), neighbor_opencl_uninit(), nlmeans_opencl_uninit(), overlay_opencl_uninit(), program_opencl_uninit(), tonemap_opencl_uninit(), transpose_opencl_uninit(), and unsharp_opencl_uninit().
int ff_opencl_filter_load_program | ( | AVFilterContext * | avctx, |
const char ** | program_source_array, | ||
int | nb_strings | ||
) |
Load a new OpenCL program from strings in memory.
Creates a new program and compiles it for the current device. Will log any build errors if compilation fails.
Definition at line 171 of file opencl.c.
Referenced by avgblur_opencl_init(), colorkey_opencl_init(), convolution_opencl_init(), ff_opencl_filter_load_program_from_file(), neighbor_opencl_init(), nlmeans_opencl_init(), overlay_opencl_load(), tonemap_opencl_init(), transpose_opencl_init(), and unsharp_opencl_init().
int ff_opencl_filter_load_program_from_file | ( | AVFilterContext * | avctx, |
const char * | filename | ||
) |
Load a new OpenCL program from a file.
Same as ff_opencl_filter_load_program(), but from a file.
Definition at line 219 of file opencl.c.
Referenced by program_opencl_load().
int ff_opencl_filter_work_size_from_image | ( | AVFilterContext * | avctx, |
size_t * | work_size, | ||
AVFrame * | frame, | ||
int | plane, | ||
int | block_alignment | ||
) |
Find the work size needed needed for a given plane of an image.
Definition at line 278 of file opencl.c.
Referenced by avgblur_opencl_filter_frame(), convolution_opencl_filter_frame(), filter_frame(), launch_kernel(), neighbor_opencl_filter_frame(), overlay_opencl_blend(), program_opencl_run(), transpose_opencl_filter_frame(), and unsharp_opencl_filter_frame().
void ff_opencl_print_const_matrix_3x3 | ( | AVBPrint * | buf, |
const char * | name_str, | ||
double | mat[3][3] | ||
) |
Print a 3x3 matrix into a buffer as __constant array, which could be included in an OpenCL program.
Definition at line 341 of file opencl.c.
Referenced by tonemap_opencl_init().