FFmpeg
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include <stdarg.h>
#include <signal.h>
#include "libavutil/cpu.h"
#include "libavutil/pixdesc.h"
#include "libavutil/lfg.h"
#include "libavutil/sfc64.h"
#include "libavutil/frame.h"
#include "libavutil/opt.h"
#include "libavutil/time.h"
#include "libavutil/pixfmt.h"
#include "libavutil/avassert.h"
#include "libavutil/macros.h"
#include "libswscale/swscale.h"
Go to the source code of this file.
Data Structures | |
struct | options |
struct | mode |
Functions | |
static const char * | speedup_color (double ratio) |
static void | exit_handler (int sig) |
static float | estimate_quantization_noise (enum AVPixelFormat fmt) |
static int | fmt_comps (enum AVPixelFormat fmt) |
static void | get_ssim (float ssim[4], const AVFrame *out, const AVFrame *ref, int comps) |
static float | get_loss (const float ssim[4]) |
static int | scale_legacy (AVFrame *dst, const AVFrame *src, struct mode mode, struct options opts) |
static int | run_test (enum AVPixelFormat src_fmt, enum AVPixelFormat dst_fmt, int dst_w, int dst_h, struct mode mode, struct options opts, const AVFrame *ref, const float ssim_ref[4]) |
static int | fmt_is_subsampled (enum AVPixelFormat fmt) |
static int | run_self_tests (const AVFrame *ref, struct options opts) |
static int | run_file_tests (const AVFrame *ref, FILE *fp, struct options opts) |
int | main (int argc, char **argv) |
Variables | |
const SwsFlags | flags [] |
static FFSFC64 | prng_state |
static SwsContext * | sws [3] |
static double | speedup_logavg |
static double | speedup_min = 1e10 |
static double | speedup_max = 0 |
static int | speedup_count |
|
static |
Definition at line 80 of file swscale.c.
Referenced by exit_handler(), and run_test().
|
static |
|
static |
Definition at line 103 of file swscale.c.
Referenced by run_test().
|
static |
Definition at line 125 of file swscale.c.
Referenced by run_test().
Definition at line 134 of file swscale.c.
Referenced by run_test().
Definition at line 182 of file swscale.c.
Referenced by run_test().
|
static |
Definition at line 194 of file swscale.c.
Referenced by run_test().
|
static |
Definition at line 226 of file swscale.c.
Referenced by run_file_tests(), and run_self_tests().
|
inlinestatic |
Definition at line 377 of file swscale.c.
Referenced by run_self_tests().
const SwsFlags flags[] |
Definition at line 61 of file swscale.c.
Referenced by aa_read_seek(), aac_parse_packet(), ac3_apply_rematrixing(), ac3_handle_packet(), add_index_entry(), add_pframe_coefficients(), alloc_set_opts(), alloc_sws_context(), amf_device_derive(), aom_decode(), aom_encode(), aom_init(), ape_read_seek(), ape_tag_read_field(), apply_param_change(), aqt_read_seek(), asf_read_seek(), asf_read_stream_properties(), asf_write_packet(), asfrtp_parse_packet(), async_open(), audio_write_frame(), av1_get_supported_config(), av1_handle_packet(), av_add_index_entry(), av_bprint_escape(), av_buffer_create(), av_buffersink_get_frame_flags(), av_buffersrc_add_frame_flags(), av_buffersrc_close(), av_channel_layout_retype(), av_container_fifo_read(), av_container_fifo_write(), av_dict_copy(), av_dict_get(), av_dict_parse_string(), av_dict_set(), av_dict_set_fxp(), av_dict_set_int(), av_escape(), av_fifo_alloc2(), av_frame_apply_cropping(), av_frame_side_data_add(), av_frame_side_data_clone(), av_frame_side_data_new(), av_get_cpu_flags(), av_get_frame_filename2(), av_hwdevice_ctx_create(), av_hwdevice_ctx_create_derived(), av_hwdevice_ctx_create_derived_opts(), av_hwframe_ctx_create_derived(), av_hwframe_map(), av_hwframe_transfer_data(), av_index_search_timestamp(), av_opt_get_key_value(), av_opt_query_ranges(), av_opt_query_ranges_default(), av_opt_serialize(), av_opt_set_defaults2(), av_parse_cpu_caps(), av_read_image_line2(), av_refstruct_alloc_ext(), av_refstruct_alloc_ext_c(), av_refstruct_pool_alloc(), av_refstruct_pool_alloc_ext(), av_refstruct_pool_alloc_ext_c(), av_seek_frame(), av_thread_message_queue_recv(), av_thread_message_queue_send(), av_timecode_init(), av_timecode_init_from_components(), av_timecode_init_from_string(), av_tx_init(), av_utf8_decode(), av_vdpau_bind_context(), av_vorbis_parse_frame_flags(), av_write_image_line2(), avc_loopfilter_luma_inter_edge_ver_msa(), avcodec_get_supported_config(), avfilter_graph_queue_command(), avfilter_graph_segment_apply(), avfilter_graph_segment_apply_opts(), avfilter_graph_segment_create_filters(), avfilter_graph_segment_init(), avfilter_graph_segment_link(), avfilter_graph_segment_parse(), avfilter_graph_send_command(), avfilter_graph_set_auto_convert(), avfilter_process_command(), avformat_index_get_entry_from_timestamp(), avformat_seek_file(), avi_add_ientry(), avi_read_idx1(), avi_read_seek(), avi_write_header(), avi_write_packet_internal(), avio_check(), avio_open(), avio_open2(), avio_seek_time(), avpriv_open(), bidir_refine(), buffer_create(), build_huff_tree(), build_table(), cache_open(), check(), cine_read_seek(), clone_side_data(), cmp(), cmp_fpel_internal(), cmp_hpel(), cmp_internal(), cmp_qpel(), colour_mapping_octants(), command(), concat_seek(), container_packet_transfer(), copy_picture_field(), cpu_flags_getauxval(), create_frame(), crypto_open2(), cuda_context_init(), cuda_device_create(), cuda_device_derive(), cuda_flags_from_opts(), d3d11va_device_find_adapter_by_vendor_id(), dash_read_seek(), dash_seek(), decode_extradata_ps(), decode_frame(), decode_frame_header(), decode_header(), decode_hextile(), decode_init(), decode_inter(), decode_macroblock(), decode_mb_b(), decode_nal_units(), decode_rle(), decode_subblock(), decode_subblock3(), decode_tile(), demux_send(), demux_send_for_stream(), demux_stream_send_to_dst(), device_open(), dhav_read_seek(), diamond_search(), discard_units(), dnxhd_decode_dct_block(), do_send(), draw_items(), drm_map_from(), dump_paramchange(), dump_stream_format(), dump_stream_group(), dv_handle_packet(), dvdvideo_read_seek(), dxa_read_header(), dxva2_map_frame(), dxva2_map_from(), encode_codebook(), encode_frame(), encode_mode(), epzs_motion_search2(), epzs_motion_search_internal(), fbdev_read_header(), fbdev_write_header(), fdk_aac_decode_frame(), ff_aacenc_dsp_init_riscv(), ff_ac3dsp_init_riscv(), ff_add_index_entry(), ff_add_param_change(), ff_afir_init_riscv(), ff_alacdsp_init_riscv(), ff_alsa_open(), ff_AMediaCodec_configure(), ff_AMediaCodec_queueInputBuffer(), ff_audiodsp_init_riscv(), ff_blockdsp_init_riscv(), ff_bswapdsp_init_riscv(), ff_dovi_rpu_generate(), ff_draw_init(), ff_draw_init2(), ff_draw_supported_pixel_formats(), ff_exrdsp_init_riscv(), ff_fixed_dsp_init_riscv(), ff_flacdsp_init_riscv(), ff_float_dsp_init_riscv(), ff_fmt_convert_init_riscv(), ff_formats_pixdesc_filter(), ff_g722dsp_init_riscv(), ff_gen_search(), ff_get_buffer(), ff_get_cpu_flags_aarch64(), ff_get_cpu_flags_ppc(), ff_get_cpu_flags_wasm(), ff_get_cpu_max_align_aarch64(), ff_get_cpu_max_align_arm(), ff_get_cpu_max_align_loongarch(), ff_get_cpu_max_align_mips(), ff_get_cpu_max_align_ppc(), ff_get_cpu_max_align_x86(), ff_get_encode_buffer(), ff_get_frame_filename(), ff_get_unscaled_swscale(), ff_h263dsp_init_riscv(), ff_h2645_packet_split(), ff_h264chroma_init_riscv(), ff_h264dsp_init_riscv(), ff_h264qpel_init_riscv(), ff_hevc_dsp_init_riscv(), ff_hevc_unref_frame(), ff_hpeldsp_init(), ff_hpeldsp_init_arm(), ff_hpeldsp_init_x86(), ff_huff_build_tree(), ff_huffyuvdsp_init_riscv(), ff_hw_base_init_gop_structure(), ff_idctdsp_init_riscv(), ff_index_search_timestamp(), ff_init_2d_vlc_rl(), ff_init_lls_riscv(), ff_instantiate_mf(), ff_ip_resolve_host(), ff_ivi_col_haar4(), ff_ivi_col_haar8(), ff_ivi_col_slant4(), ff_ivi_col_slant8(), ff_ivi_inverse_haar_4x4(), ff_ivi_inverse_haar_8x8(), ff_ivi_inverse_slant_4x4(), ff_ivi_inverse_slant_8x8(), ff_jpeg2000dsp_init_riscv(), ff_llauddsp_init_riscv(), ff_llviddsp_init_riscv(), ff_llvidencdsp_init_riscv(), ff_lpc_init_riscv(), ff_me_cmp_init_riscv(), ff_mediacodec_dec_send(), ff_mms_asf_header_parser(), ff_mov_get_lpcm_codec_id(), ff_mp4_parse_es_descr(), ff_mpegvideoencdsp_init_riscv(), ff_opus_dsp_init_riscv(), ff_parse_mpeg2_descriptor(), ff_pcm_read_seek(), ff_progress_frame_get_buffer(), ff_psdsp_init_riscv(), ff_put_wav_header(), ff_rdt_parse_packet(), ff_reget_buffer(), ff_rm_parse_packet(), ff_rv34dsp_init_riscv(), ff_rv40dsp_init_riscv(), ff_sbrdsp_init_riscv(), ff_sctp_send(), ff_seek_frame_binary(), ff_subtitles_queue_seek(), ff_subtitles_read_seek(), ff_svq1enc_init_riscv(), ff_sws_init_range_convert_riscv(), ff_sws_init_single_context(), ff_sws_init_swscale_riscv(), ff_swscale(), ff_takdsp_init_riscv(), ff_thread_get_buffer(), ff_thread_get_ext_buffer(), ff_tx_dct_init(), ff_tx_fft_factor_init(), ff_tx_fft_init(), ff_tx_fft_inplace_small_init(), ff_tx_fft_pfa_init(), ff_tx_init_subtx(), ff_tx_mdct_init(), ff_tx_mdct_inv_full_init(), ff_tx_mdct_pfa_init(), ff_tx_rdft_init(), ff_utvideodsp_init_riscv(), ff_vc1_b_intfi_loop_filter(), ff_vc1_h_s_overlap_mmi(), ff_vc1_i_loop_filter(), ff_vc1_p_intfr_loop_filter(), ff_vc1_p_loop_filter(), ff_vc1dsp_init_riscv(), ff_vk_create_buf(), ff_vk_exec_get_query(), ff_vk_map_buffers(), ff_vk_unmap_buffers(), ff_vlc_init_from_lengths(), ff_vlc_init_multi_from_lengths(), ff_vlc_init_sparse(), ff_vlc_init_table_from_lengths(), ff_vlc_init_table_sparse(), ff_vlc_init_tables(), ff_vlc_init_tables_from_lengths(), ff_vlc_init_tables_sparse(), ff_vorbisdsp_init_riscv(), ff_vp3dsp_init(), ff_vp3dsp_init_x86(), ff_vp78dsp_init_riscv(), ff_vp7dsp_init_riscv(), ff_vp8dsp_init_riscv(), ff_vvc_dsp_init_riscv(), ff_vvc_unref_frame(), ffat_init_encoder(), ffio_open_whitelist(), fft_pfa_init(), ffurl_alloc(), ffurl_open_whitelist(), ffurl_shutdown(), film_read_seek(), filter_codec_opts(), filter_frame(), find_prev_closest_index(), flac_seek(), flush(), flv_read_header(), flv_read_packet(), flv_read_seek(), flv_same_audio_codec(), flv_write_packet(), fps_umf2avr(), frame_size_with_refs(), frame_transfer(), ftp_open(), ftp_shutdown(), fuzz_get_buffer2(), gdv_decode_frame(), general_constraints_info(), get_audio_flags(), get_bmd_timecode(), get_buffer(), get_buffer_with_edge(), get_frame_internal(), get_mb_score(), get_needed_flags(), get_opt_flags_string(), gif_read_header(), gif_read_image(), global_motion_params(), h261_handle_packet(), h263_handle_packet(), hevc_decode_nal_units(), hls_open(), hls_read_seek(), hpel_motion_search(), hpeldsp_init_mmxext(), hrd_parameters(), http_open(), http_shutdown(), hvcc_add_nal_unit(), hvcc_parse_nal_unit(), hvcc_write(), icecast_open(), id3v2_parse(), imf_seek(), img_read_seek(), init_context_defaults(), init_noise(), initFilter(), io_open_default(), ipvideo_decode_block_opcode_0x7(), ipvideo_decode_block_opcode_0x7_16(), ipvideo_decode_block_opcode_0x8(), ipvideo_decode_block_opcode_0x8_16(), ipvideo_decode_block_opcode_0x9(), ipvideo_decode_block_opcode_0x9_16(), ipvideo_decode_block_opcode_0xA(), ipvideo_decode_block_opcode_0xA_16(), is_animated_webp_packet(), jpeg_parse_packet(), latm_parse_packet(), libplacebo_process_command(), librist_open(), libsmbc_open(), libsrt_open(), libsrt_setup(), libssh_open(), libssh_open_file(), libx265_get_supported_config(), LLVMFuzzerTestOneInput(), lmcs_data(), loop_filter_params(), lvf_read_packet(), m_inv_init(), magy_decode_slice(), magy_decode_slice10(), main(), make_command_flags_str(), md5_open(), mediacodec_jni_configure(), mediacodec_jni_queueInputBuffer(), mediacodec_ndk_configure(), mediacodec_ndk_queueInputBuffer(), mediacodec_send(), microdvd_read_seek(), mjpeg_decode_app(), mmsh_open(), mobiclip_decode(), mov_fix_index(), mov_merge_tts_data(), mov_parse_mpeg2_frame(), mov_parse_stsd_audio(), mov_read_chnl(), mov_read_eyes(), mov_read_iprp(), mov_read_kind(), mov_read_packet(), mov_read_pcmc(), mov_read_seek(), mov_read_tfhd(), mov_read_timecode_track(), mov_read_tkhd(), mov_read_trun(), mov_seek_stream(), mov_write_edts_tag(), mov_write_prft_tag(), mov_write_tfhd_tag(), mov_write_tkhd_tag(), mov_write_trun_tag(), mp3_seek(), mp3_sync(), mpc8_read_seek(), mpc_read_seek(), mpeg_decode_user_data(), mpegps_read_pes_header(), mpegts_push_data(), mpegts_write_pes(), mpegts_write_section1(), msvideo1_decode_16bit(), msvideo1_decode_8bit(), mv_read_seek(), mxf_compute_ptses_fake_index(), mxf_parse_physical_source_package(), mxf_parse_structural_metadata(), mxf_read_seek(), noise(), nsv_read_seek(), nut_write_packet(), nvenc_check_capabilities(), ogg_read_page(), ogg_read_seek(), old_codec37(), old_codec48(), ols_timing_hrd_parameters(), oma_read_seek(), opencl_frames_derive_to(), opencl_map_frame(), opencl_map_from(), opencl_map_to(), opt_cpuflags(), opt_loglevel(), opt_serialize(), oscilloscope_process_command(), parse_frame_header(), parse_key_value_pair(), parse_MP4SLDescrTag(), parse_nal_units(), parse_opus_ts_header(), parse_pcr(), parse_pixel_format(), parse_timecode_in_framenum_format(), pdv_read_header(), pdv_read_packet(), pdv_read_seek(), pick_format(), pick_queue_family(), pick_video_queue_family(), picture_header(), pixscope_process_command(), pmp_header(), pp_bnk_probe(), pp_config_props(), pps(), pps_multilayer_extension(), pred_weight_table(), print_all_libs_info(), print_buildconf(), print_program_info(), process_block(), process_command(), profile_tier_level(), prompeg_open(), pulse_write_frame(), put_chunk(), put_frame(), put_metadata_block(), put_payload_header(), qpel_motion_search(), qsv_device_derive(), qsv_frames_derive_to(), qsv_map_from(), qsv_map_to(), qt_rtp_parse_packet(), query_formats(), rdt_parse_packet(), read_desc_chunk(), read_header(), read_image_grid(), read_image_iovl(), read_moof_duration(), read_packet(), read_part_of_packet(), read_seek(), read_trun_duration(), real_seek(), ref_pic_list_struct(), ref_pic_lists(), reget_buffer_internal(), replace_side_data_from_buf(), return_or_keep_frame(), rfc4175_handle_packet(), rgb2rgb_init_riscv(), rka_read_seek(), rl2_read_seek(), rm_read_dts(), rm_read_header(), rm_read_packet(), rm_read_seek(), rm_sync(), rm_write_audio(), rm_write_video(), rtmp_open(), rtmp_read_seek(), rtmp_seek(), rtp_open(), rtp_parse_one_packet(), rtp_parse_packet_internal(), run_self_tests(), rv10_write_header(), sbg_read_seek2(), scaling_list_data(), sch_demux_send(), sdr2_read_packet(), seek_frame_generic(), seek_frame_internal(), segmentation_params(), SEI_FUNC(), sequence_header_obu(), seqvideo_decode(), set_pix_fmt(), show_help_children(), show_help_default(), slice_header(), slice_segment_header(), smacker_read_header(), smacker_read_packet(), smacker_read_seek(), small_diamond_search(), smc_encode_stream(), sps(), srtp_open(), st_ref_pic_set(), sub_layer_hrd_parameters(), subfile_open(), sublayer_hrd_parameters(), swf_read_packet(), swf_write_video(), sws_getCachedContext(), sws_getContext(), tcp_shutdown(), tedcaptions_read_seek(), tee_open(), test_device(), thread_get_buffer_internal(), thread_main(), transfer_data_alloc(), translate_ipfs_to_http(), try_seek(), tta_read_seek(), txd_decode_frame(), udp_open(), udplite_open(), umh_search(), update_rpu(), url_alloc_for_protocol(), url_resetbuf(), vaapi_map_frame(), vaapi_map_from(), vaapi_map_to(), vaapi_map_to_memory(), validate_avframe_allocation(), vc1_b_h_intfi_loop_filter(), vc1_b_v_intfi_loop_filter(), vc1_h_s_overlap_c(), vc1_i_h_loop_filter(), vc1_i_v_loop_filter(), vc1_p_h_intfr_loop_filter(), vc1_p_h_loop_filter(), vc1_p_v_intfr_loop_filter(), vc1_p_v_loop_filter(), vc2hq_handle_frame_fragment(), vc2hq_handle_packet(), vlc_common_end(), vlc_common_init(), vmdaudio_decode_frame(), voc_read_seek(), vorbis_packet(), vp8_handle_packet(), vp9_handle_packet(), vp9dsp_intrapred_init_riscv(), vp9dsp_mc_init_riscv(), vps(), vpx_encode(), vpx_init(), vqf_read_seek(), vt_map_frame(), vt_map_from(), vulkan_device_create(), vulkan_device_derive(), vulkan_encode_h264_init(), vulkan_encode_h265_init(), vulkan_map_from(), vulkan_map_to(), webvtt_read_seek(), wmavoice_decode_init(), write_configuration_record(), write_frame(), write_header(), write_sm_data(), writer_print_string(), wsaud_write_header(), wv_read_block_header(), xv_write_frame(), and yuv4_read_seek().
|
static |
Definition at line 72 of file swscale.c.
Referenced by main(), and run_self_tests().
|
static |
Definition at line 73 of file swscale.c.
Referenced by add_legacy_sws_pass(), alloc_set_opts(), check_chrConvertRange(), check_hscale(), check_input_planar_rgb_to_a(), check_input_planar_rgb_to_uv(), check_input_planar_rgb_to_y(), check_lumConvertRange(), check_output_yuv2gbrp(), check_rgb24toyv12(), check_rgb_to_uv(), check_rgb_to_y(), check_rgba_to_a(), check_semiplanar(), check_yuv2nv12cX(), check_yuv2packed1(), check_yuv2packed2(), check_yuv2packedX(), check_yuv2rgb(), check_yuv2yuv1(), check_yuv2yuvX(), checkasm_check_sw_rgb(), context_init_threaded(), draw_qrcode(), ff_sws_init_single_context(), ff_sws_slice_worker(), free_legacy_swscale(), handle_formats(), init_legacy_subpass(), LLVMFuzzerTestOneInput(), main(), run_legacy_swscale(), run_legacy_unscaled(), run_test(), scale_internal(), setup_legacy_swscale(), slice_ctx(), sws_frame_end(), sws_frame_start(), sws_freeContext(), sws_getCachedContext(), sws_getColorspaceDetails(), sws_getContext(), sws_init_context(), sws_internal(), sws_receive_slice(), sws_receive_slice_alignment(), sws_scale(), sws_scale_frame(), sws_send_slice(), and sws_setColorspaceDetails().
|
static |
Definition at line 75 of file swscale.c.
Referenced by exit_handler(), and run_test().
|
static |
Definition at line 76 of file swscale.c.
Referenced by exit_handler(), and run_test().
|
static |
Definition at line 77 of file swscale.c.
Referenced by exit_handler(), and run_test().
|
static |
Definition at line 78 of file swscale.c.
Referenced by exit_handler(), and run_test().