|
FFmpeg
|
#include "../ops_chain.h"#include "libavutil/avassert.h"#include "libavutil/avstring.h"#include "libavutil/tree.h"#include "ops_impl_conv.c"#include "ops_entries.c"Go to the source code of this file.
Macros | |
| #define | ENTRY(fname, ...) |
| Check that there is no mismatch for the SwsOpExec/SwsOpImpl offset values used by ops_static. | |
| #define | ENTRY(fname, ...) |
| Check that there is no mismatch for the SwsOpExec/SwsOpImpl offset values used by ops_static. | |
Functions | |
| static SwsFuncPtr | aarch64_lookup (const SwsAArch64OpImplParams *p) |
| static int | aarch64_setup_linear (const SwsAArch64OpImplParams *p, const SwsOp *op, SwsImplResult *res) |
| static int | aarch64_setup_dither (const SwsAArch64OpImplParams *p, const SwsOp *op, SwsImplResult *res) |
| static int | aarch64_setup (const SwsOpList *ops, int block_size, int n, const SwsAArch64OpImplParams *p, SwsImplResult *out) |
| static int | aarch64_compile (SwsContext *ctx, const SwsOpList *ops, SwsCompiledOp *out) |
Variables | ||
| struct { | ||
| void(* func )(void) | ||
| SwsAArch64OpImplParams params | ||
| } | ops_entries [] | |
| const SwsOpBackend | backend_aarch64 | |
| #define ENTRY | ( | fname, | |
| ... ) |
| #define ENTRY | ( | fname, | |
| ... ) |
Check that there is no mismatch for the SwsOpExec/SwsOpImpl offset values used by ops_static.
NOTE: The check is performed here since this file only ever targets aarch64, differently from ops_static which may be built on any host.
|
static |
Definition at line 59 of file ops.c.
Referenced by aarch64_compile().
|
static |
Compute number of full vector registers needed to pack all non-zero coefficients.
Copy non-zero coefficients, packed in sequential order, offset first. The same order must be followed in asmgen_op_linear().
Definition at line 68 of file ops.c.
Referenced by aarch64_setup().
|
static |
The input dither matrix is (1 << size_log2)² pixels large. It is periodic, so the x and y offsets should be masked to fit inside (1 << size_log2). The width of the matrix is assumed to be at least 8, which matches the maximum block_size for aarch64 asmgen when f32 operations (i.e., dithering) are used. This guarantees that the x offset is aligned and that reading block_size elements does not extend past the end of the row. The x offset doesn't change between components, so it is only required to be masked once. The y offset, on the other hand, may change per component, and would therefore need to be masked for every y_offset value. To simplify the execution, we over-allocate the number of rows of the output dither matrix by the largest y_offset value. This way, we only need to mask y offset once, and can safely increment the dither matrix pointer by fixed offsets for every y_offset change.
Definition at line 101 of file ops.c.
Referenced by aarch64_setup().
|
static |
Definition at line 150 of file ops.c.
Referenced by aarch64_compile().
|
static |
| SwsAArch64OpImplParams params |
Definition at line 51 of file ops.c.
Referenced by aarch64_collect_op(), aarch64_compile(), aarch64_lookup(), add_context_params(), apply_film_grain(), apply_grain_row(), av_dynamic_hdr_plus_from_t35(), av_film_grain_params_alloc(), blackman(), bohman(), box(), bwdif_vulkan_filter_frame(), call_resize_kernel(), check_filter_h_4x4(), collect_ops_compile(), cosine(), cubic(), cudascale_filter_init(), cuvid_output_frame(), DECL_SETUP(), DECL_SETUP(), DECL_SETUP(), DECL_SETUP(), DECL_SETUP(), decode_frame(), deint_vaapi_build_filter_params(), deint_vaapi_filter_frame(), drawbox_vaapi_filter_frame(), dump_dynamic_hdr_plus(), dump_dynamic_hdr_vivid(), extract_lltask_from_task(), ff_aom_apply_film_grain(), ff_h274_apply_film_grain(), ff_nvdec_decode_init(), ff_nvenc_encode_close(), ff_parse_itu_t_t35_to_dynamic_hdr_vivid(), ff_rtp_parse_set_crypto(), ff_sipr_decode_frame_16k(), ff_srtp_set_crypto(), ff_sws_filter_generate(), ff_sws_setup_clamp(), ff_sws_setup_clear(), ff_sws_setup_scalar(), ff_sws_setup_scale(), ff_sws_setup_vec4(), ff_sws_uop_lookup(), ff_vaapi_vpp_init_params(), ff_vaapi_vpp_render_picture(), ff_vvc_store_sb_mvs(), fguv_32x32xn_c(), fgy_32x32xn_c(), framecrc_write_packet(), gaussian(), generate_grain_uv_c(), generate_grain_y_c(), hamming(), handle_mdcv(), handle_side_data(), handle_side_data(), hann(), init(), jinc(), kaiser(), linear_num_vregs(), misc_vaapi_filter_frame(), mmf_read_header(), nvdec_decoder_create(), nvdec_test_capabilities(), nvenc_check_cap(), nvenc_codec_specific_pic_params(), nvenc_open_session(), nvenc_set_timestamp(), ocio_create_display_view_processor(), ocio_create_output_colorspace_processor(), overlay_vaapi_blend(), pad_vaapi_filter_frame(), pitch_unquant_3tap(), print_dynamic_hdr10_plus(), print_dynamic_hdr_vivid(), print_op(), procamp_vaapi_filter_frame(), process_frame(), quadratic(), reconfig_encoder(), run_transcription(), scale_vaapi_filter_frame(), serialize_op(), set_params(), setup_clear(), setup_dither(), setup_filter_h(), setup_filter_h_4x4(), setup_filter_v(), setup_linear(), setup_rw_packed(), setup_scale(), sinc(), sphinx(), spline(), split_cb_shape_sign_unquant(), tonemap_vaapi_filter_frame(), transpose_vaapi_filter_frame(), triangle(), vaapi_encode_make_packed_header(), vaapi_vpp_colour_properties(), vaapi_vpp_render_single_pipeline_buffer(), vvc_deblock(), vvenc_init(), vvenc_log_callback(), vvenc_parse_vvenc_params(), vvenc_set_color_format(), vvenc_set_framerate(), vvenc_set_pic_format(), vvenc_set_rc_mode(), vvenc_set_verbository(), and welch().
| const struct { ... } ops_entries[] |
Referenced by aarch64_lookup(), and asmgen().
| const SwsOpBackend backend_aarch64 |