FFmpeg
|
#include "libavutil/avassert.h"
#include "libavutil/error.h"
#include "libavutil/imgutils.h"
#include "libavutil/macros.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/slicethread.h"
#include "libswscale/swscale.h"
#include "libswscale/utils.h"
#include "swscale_internal.h"
#include "graph.h"
Go to the source code of this file.
Functions | |
static int | pass_alloc_output (SwsPass *pass) |
static SwsPass * | pass_add (SwsGraph *graph, void *priv, enum AVPixelFormat fmt, int w, int h, SwsPass *input, int slice_align, sws_filter_run_t run) |
static int | pass_append (SwsGraph *graph, void *priv, enum AVPixelFormat fmt, int w, int h, SwsPass **pass, int slice_align, sws_filter_run_t run) |
static int | vshift (enum AVPixelFormat fmt, int plane) |
static SwsImg | shift_img (const SwsImg *img_base, int y) |
static void | run_copy (const SwsImg *out_base, const SwsImg *in_base, int y, int h, const SwsPass *pass) |
static void | run_rgb0 (const SwsImg *out, const SwsImg *in, int y, int h, const SwsPass *pass) |
static void | run_xyz2rgb (const SwsImg *out, const SwsImg *in, int y, int h, const SwsPass *pass) |
static void | run_rgb2xyz (const SwsImg *out, const SwsImg *in, int y, int h, const SwsPass *pass) |
static void | free_legacy_swscale (void *priv) |
static void | setup_legacy_swscale (const SwsImg *out, const SwsImg *in, const SwsPass *pass) |
static SwsContext * | slice_ctx (const SwsPass *pass, int y) |
static void | run_legacy_unscaled (const SwsImg *out, const SwsImg *in_base, int y, int h, const SwsPass *pass) |
static void | run_legacy_swscale (const SwsImg *out_base, const SwsImg *in, int y, int h, const SwsPass *pass) |
static void | get_chroma_pos (SwsGraph *graph, int *h_chr_pos, int *v_chr_pos, const SwsFormat *fmt) |
static void | legacy_chr_pos (SwsGraph *graph, int *chr_pos, int override, int *warned) |
static int | init_legacy_subpass (SwsGraph *graph, SwsContext *sws, SwsPass *input, SwsPass **output) |
static int | add_legacy_sws_pass (SwsGraph *graph, SwsFormat src, SwsFormat dst, SwsPass *input, SwsPass **output) |
static int | init_passes (SwsGraph *graph) |
static void | sws_graph_worker (void *priv, int jobnr, int threadnr, int nb_jobs, int nb_threads) |
int | sws_graph_create (SwsContext *ctx, const SwsFormat *dst, const SwsFormat *src, int field, SwsGraph **out_graph) |
Allocate and initialize the filter graph. More... | |
void | sws_graph_free (SwsGraph **pgraph) |
Uninitialize any state associate with this filter graph and free it. More... | |
static int | opts_equal (const SwsContext *c1, const SwsContext *c2) |
int | sws_graph_reinit (SwsContext *ctx, const SwsFormat *dst, const SwsFormat *src, int field, SwsGraph **out_graph) |
Wrapper around sws_graph_create that does nothing if the format is unchanged. More... | |
void | sws_graph_run (SwsGraph *graph, uint8_t *const out_data[4], const int out_linesize[4], const uint8_t *const in_data[4], const int in_linesize[4]) |
Dispatch the filter graph on a single field. More... | |
|
static |
Definition at line 36 of file graph.c.
Referenced by pass_add().
|
static |
Definition at line 46 of file graph.c.
Referenced by init_legacy_subpass(), init_passes(), and pass_append().
|
static |
Definition at line 86 of file graph.c.
Referenced by init_legacy_subpass().
|
static |
Definition at line 97 of file graph.c.
Referenced by alloc_plane(), chroma_mc_bi(), chroma_mc_uni(), encode_frame(), ff_h264_draw_horiz_band(), ff_hevc_hls_residual_coding(), ff_intra_pred_8_16x16_msa(), ff_intra_pred_8_32x32_msa(), ff_mjpeg_decode_frame_from_buf(), ff_sws_slice_worker(), frame_end(), hls_transform_unit(), intra_pred(), restore_tqb_pixels(), run_copy(), and shift_img().
Definition at line 104 of file graph.c.
Referenced by run_copy(), run_legacy_swscale(), and run_legacy_unscaled().
|
static |
Definition at line 112 of file graph.c.
Referenced by init_passes().
|
static |
Definition at line 133 of file graph.c.
Referenced by init_legacy_subpass().
|
static |
Definition at line 154 of file graph.c.
Referenced by init_legacy_subpass().
|
static |
Definition at line 162 of file graph.c.
Referenced by init_legacy_subpass().
|
static |
Definition at line 176 of file graph.c.
Referenced by init_legacy_subpass().
|
static |
Definition at line 182 of file graph.c.
Referenced by init_legacy_subpass().
|
inlinestatic |
Definition at line 196 of file graph.c.
Referenced by run_legacy_swscale(), and run_legacy_unscaled().
|
static |
Definition at line 215 of file graph.c.
Referenced by init_legacy_subpass().
|
static |
Definition at line 226 of file graph.c.
Referenced by init_legacy_subpass().
|
static |
Definition at line 237 of file graph.c.
Referenced by add_legacy_sws_pass().
|
static |
Definition at line 280 of file graph.c.
Referenced by add_legacy_sws_pass().
|
static |
For slice threading, we need to create sub contexts, similar to how swscale normally handles it internally. The most important difference is that we handle cascaded contexts before threaded contexts; whereas context_init_threaded() does it the other way around.
Definition at line 295 of file graph.c.
Referenced by add_legacy_sws_pass().
|
static |
Definition at line 397 of file graph.c.
Referenced by init_passes().
|
static |
Definition at line 471 of file graph.c.
Referenced by sws_graph_create().
|
static |
Definition at line 497 of file graph.c.
Referenced by sws_graph_create().
int sws_graph_create | ( | SwsContext * | ctx, |
const SwsFormat * | dst, | ||
const SwsFormat * | src, | ||
int | field, | ||
SwsGraph ** | out_graph | ||
) |
Allocate and initialize the filter graph.
Returns 0 or a negative error.
Definition at line 510 of file graph.c.
Referenced by sws_graph_reinit().
void sws_graph_free | ( | SwsGraph ** | pgraph | ) |
Uninitialize any state associate with this filter graph and free it.
Definition at line 548 of file graph.c.
Referenced by sws_frame_setup(), sws_freeContext(), sws_graph_create(), and sws_graph_reinit().
|
static |
Definition at line 571 of file graph.c.
Referenced by sws_graph_reinit().
int sws_graph_reinit | ( | SwsContext * | ctx, |
const SwsFormat * | dst, | ||
const SwsFormat * | src, | ||
int | field, | ||
SwsGraph ** | graph | ||
) |
Wrapper around sws_graph_create that does nothing if the format is unchanged.
Must be called after changing any of the fields in ctx
, or else they will have no effect.
Definition at line 586 of file graph.c.
Referenced by sws_frame_setup().
void sws_graph_run | ( | SwsGraph * | graph, |
uint8_t *const | out_data[4], | ||
const int | out_linesize[4], | ||
const uint8_t *const | in_data[4], | ||
const int | in_linesize[4] | ||
) |
Dispatch the filter graph on a single field.
Internally threaded.
Definition at line 600 of file graph.c.
Referenced by sws_scale_frame().