FFmpeg
Macros | Functions
vf_lut3d_init.c File Reference
#include "libavutil/attributes.h"
#include "libavutil/cpu.h"
#include "libavutil/x86/cpu.h"
#include "libavfilter/lut3d.h"

Go to the source code of this file.

Macros

#define DEFINE_INTERP_FUNC(name, format, opt)
 

Functions

av_cold void ff_lut3d_init_x86 (LUT3DContext *s, const AVPixFmtDescriptor *desc)
 

Macro Definition Documentation

◆ DEFINE_INTERP_FUNC

#define DEFINE_INTERP_FUNC (   name,
  format,
  opt 
)
Value:
void ff_interp_##name##_##format##_##opt(LUT3DContext *lut3d, Lut3DPreLut *prelut, AVFrame *src, AVFrame *dst, int slice_start, int slice_end, int has_alpha); \
static int interp_##name##_##format##_##opt(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) \
{ \
LUT3DContext *lut3d = ctx->priv; \
Lut3DPreLut *prelut = lut3d->prelut.size > 0? &lut3d->prelut: NULL; \
ThreadData *td = arg; \
AVFrame *in = td->in; \
AVFrame *out = td->out; \
int has_alpha = in->linesize[3] && out != in; \
int slice_start = (in->height * jobnr ) / nb_jobs; \
int slice_end = (in->height * (jobnr+1)) / nb_jobs; \
ff_interp_##name##_##format##_##opt(lut3d, prelut, in, out, slice_start, slice_end, has_alpha); \
return 0; \
}

Definition at line 26 of file vf_lut3d_init.c.

Function Documentation

◆ ff_lut3d_init_x86()

av_cold void ff_lut3d_init_x86 ( LUT3DContext s,
const AVPixFmtDescriptor desc 
)

Definition at line 58 of file vf_lut3d_init.c.

name
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
Definition: writing_filters.txt:88
out
FILE * out
Definition: movenc.c:55
AVFrame
This structure describes decoded (raw) audio or video data.
Definition: frame.h:389
LUT3DContext
Definition: lut3d.h:56
slice_end
static int slice_end(AVCodecContext *avctx, AVFrame *pict, int *got_output)
Handle slice ends.
Definition: mpeg12dec.c:1719
format
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample format(the sample packing is implied by the sample format) and sample rate. The lists are not just lists
ctx
AVFormatContext * ctx
Definition: movenc.c:49
arg
const char * arg
Definition: jacosubdec.c:67
NULL
#define NULL
Definition: coverity.c:32
dst
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition: dsp.h:83
slice_start
static int slice_start(SliceContext *sc, VVCContext *s, VVCFrameContext *fc, const CodedBitstreamUnit *unit, const int is_first_slice)
Definition: dec.c:738
Lut3DPreLut
Definition: lut3d.h:48
AVFilterContext
An instance of a filter.
Definition: avfilter.h:457
_
#define _
src
#define src
Definition: vp8dsp.c:248