#include <stdint.h>#include "libavutil/buffer.h"#include "libavutil/channel_layout.h"#include "libavutil/fifo.h"#include "libavutil/mathematics.h"#include "libavutil/pixfmt.h"#include "avcodec.h"#include "bsf.h"#include "config.h"Go to the source code of this file.
common internal api header.
Definition in file internal.h.
The codec does not modify any global variables in the init function, allowing to call the init function without locking any global mutexes.
Definition at line 42 of file internal.h.
The codec allows calling the close function for deallocation even if the init function returned a failure.
Without this capability flag, a codec does such cleanup internally when returning failures from the init function and does not expect the close function to be called at all.
Definition at line 50 of file internal.h.
Decoders marked with FF_CODEC_CAP_SETS_PKT_DTS want to set AVFrame.pkt_dts manually.
If the flag is set, decode.c won't overwrite this field. If it's unset, decode.c tries to guess the pkt_dts field from the input AVPacket.
Definition at line 57 of file internal.h.
The decoder extracts and fills its parameters even if the frame is skipped due to the skip_frame setting.
Definition at line 62 of file internal.h.
The decoder sets the cropping fields in the output frames manually.
If this cap is set, the generic code will initialize output frame dimensions to coded rather than display values.
Definition at line 68 of file internal.h.
Codec initializes slice-based threading with a main function.
Definition at line 72 of file internal.h.
Definition at line 77 of file internal.h.
Codec handles avctx->thread_count == 0 (auto) internally.
Definition at line 81 of file internal.h.
Codec handles output frame properties internally instead of letting the internal logic derive them from AVCodecInternal.last_pkt_props.
Definition at line 86 of file internal.h.
AVCodec.codec_tags termination value.
Definition at line 91 of file internal.h.
Definition at line 94 of file internal.h.
Definition at line 96 of file internal.h.
Definition at line 97 of file internal.h.
Definition at line 98 of file internal.h.
Definition at line 99 of file internal.h.
Definition at line 101 of file internal.h.
Definition at line 103 of file internal.h.
Definition at line 112 of file internal.h.
Maximum size in bytes of extradata.
This value was chosen such that every bit of the buffer is addressable by a 32-bit signed integer as used by get_bits.
Definition at line 237 of file internal.h.
the returned buffer does not need to be writable
Definition at line 277 of file internal.h.
Return the index into tab at which {a,b} match elements {[0],[1]} of tab.
If there is no such matching pair then size is returned.
Definition at line 848 of file utils.c.
Referenced by ff_h263_encode_picture_header(), ff_mpv_encode_init(), and svq1_write_header().
Definition at line 29 of file to_upper4.h.
Referenced by ff_codec_get_id(), ff_mpv_decode_init(), mpeg_decode_frame(), and validate_codec_tag().
Definition at line 410 of file utils.c.
Referenced by h264_field_start().
Rescale from sample rate to AVCodecContext.time_base.
Definition at line 242 of file internal.h.
Referenced by amr_wb_encode_frame(), encode_frame(), encode_simple_internal(), encode_superframe(), ff_ac3_encode_frame_common_end(), ff_af_queue_remove(), flac_encode_frame(), libvorbis_encode_frame(), MPA_encode_frame(), pcm_dvd_encode_frame(), tta_encode_frame(), twolame_encode_frame(), and wavpack_encode_frame().
2^(x) for integer x
Definition at line 255 of file internal.h.
Referenced by init_band_stepsize(), and sbr_dequant().
Get a buffer for a frame.
This is a wrapper around AVCodecContext.get_buffer() and should be used instead calling get_buffer() directly.
Definition at line 1652 of file decode.c.
Referenced by ac3_decode_frame(), adpcm_decode_frame(), adx_decode_frame(), alloc_frame(), amrnb_decode_frame(), amrwb_decode_frame(), aom_decode(), ape_decode_frame(), aptx_decode_frame(), atrac1_decode_frame(), atrac3_decode_frame(), atrac3al_decode_frame(), atrac3p_decode_frame(), atrac9_decode_frame(), aura_decode_frame(), avui_decode_frame(), bfi_decode_frame(), binkaudio_receive_frame(), bmp_decode_frame(), bmv_aud_decode_frame(), cdg_decode_frame(), cdxl_decode_frame(), cinaudio_decode_frame(), cmv_decode_frame(), cng_decode_frame(), cook_decode_frame(), copy_frame(), copy_output(), cuvid_output_frame(), cyuv_decode_frame(), dds_decode(), decode_frame(), decode_pic(), decode_tag(), dfa_decode_frame(), dpcm_decode_frame(), dss_sp_decode_frame(), eightsvx_decode_frame(), escape124_decode_frame(), escape130_decode_frame(), evrc_decode_frame(), execute_code(), fastaudio_decode(), fdk_aac_decode_frame(), ff_dca_lbr_filter_frame(), ff_dca_xll_filter_frame(), ff_ivi_decode_frame(), ff_mjpeg_decode_sof(), ff_snow_common_init_after_header(), ff_snow_get_buffer(), ff_thread_get_buffer(), ff_twinvq_decode_frame(), ff_vp56_decode_frame(), ffat_decode(), ffmal_copy_frame(), filter_frame(), filter_frame_fixed(), filter_frame_float(), fits_decode_frame(), frame_configure_elements(), g2m_decode_frame(), g722_decode_frame(), g723_1_decode_frame(), gdv_decode_frame(), gem_decode_frame(), get_buffer(), get_buffer_with_edge(), gif_decode_frame(), gsm_decode_frame(), hcom_decode(), hnm_decode_frame(), hq_decode_frame(), hqa_decode_frame(), idcin_decode_frame(), ilbc_decode_frame(), imc_decode_frame(), init_frames(), ipu_decode_frame(), ipvideo_decode_frame(), libcelt_dec_decode(), libcodec2_decode(), libgsm_decode_frame(), libopus_decode(), librsvg_decode_frame(), libspeex_decode_frame(), libuavs3d_decode_frame(), m101_decode_frame(), mace_decode_frame(), mediacodec_wrap_sw_buffer(), mp_decode_frame(), mpc7_decode_frame(), mpc8_decode_frame(), msp2_decode_frame(), mss2_decode_frame(), mvc_decode_frame(), mxpeg_decode_frame(), oggvorbis_decode_frame(), on2avc_decode_frame(), opus_decode_packet(), output_data(), paf_audio_decode(), pcm_bluray_decode_frame(), pcm_decode_frame(), pcm_dvd_decode_frame(), pcx_decode_frame(), pgx_decode_frame(), pix_decode_frame(), pnm_decode_frame(), ptx_decode_frame(), qcelp_decode_frame(), qdm2_decode_frame(), qdmc_decode_frame(), ra144_decode_frame(), ra288_decode_frame(), reget_buffer_internal(), rl2_decode_frame(), roq_encode_frame(), s302m_decode_frame(), sbc_decode_frame(), sga_decode_frame(), sgirle_decode_frame(), shorten_decode_frame(), sipr_decode_frame(), siren_decode(), smka_decode_frame(), speex_decode_frame(), submit_packet(), sunrast_decode_frame(), svc_decode_frame(), svq1_decode_frame(), svq1_encode_frame(), synth_superframe(), tdsc_decode_frame(), tgq_decode_frame(), tgv_decode_frame(), thread_get_buffer_internal(), tmv_decode_frame(), tqi_decode_frame(), truemotion2rt_decode_frame(), truespeech_decode_frame(), txd_decode_frame(), v308_decode_frame(), v408_decode_frame(), vcr1_decode_frame(), vmdaudio_decode_frame(), vmdvideo_decode_frame(), vorbis_decode_frame(), vpx_decode(), wavesynth_decode(), wma_decode_superframe(), wmapro_decode_packet(), ws_snd_decode_frame(), xan_decode_frame(), xbm_decode_frame(), xface_decode_frame(), xma_decode_packet(), xpm_decode_frame(), xwd_decode_frame(), y216_decode_frame(), y41p_decode_frame(), yuv4_decode_frame(), zero12v_decode_frame(), and zerocodec_decode_frame().
Identical in function to ff_get_buffer(), except it reuses the existing buffer if available.
Definition at line 1759 of file decode.c.
Referenced by aasc_decode_frame(), avs_decode_frame(), bethsoftvid_decode_frame(), cdg_decode_frame(), cdtoons_decode_frame(), cinepak_decode_frame(), cinvideo_decode_frame(), clv_decode_frame(), cpia_decode_frame(), decode_frame(), decode_frame_lscr(), fic_decode_frame(), flashsv_decode_frame(), flic_decode_frame_15_16BPP(), flic_decode_frame_24BPP(), flic_decode_frame_8BPP(), gif_decode_frame(), imx_decode_frame(), ir2_decode_frame(), mm_decode_frame(), mobiclip_decode(), mp_decode_frame(), msrle_decode_frame(), mss1_decode_frame(), mss2_decode_frame(), mss3_decode_frame(), mss4_decode_frame(), msvideo1_decode_frame(), paf_video_decode(), qtrle_decode_frame(), roq_decode_frame(), rpza_decode_stream(), rscc_decode_frame(), screenpresso_decode_frame(), seqvideo_decode_frame(), smc_decode_frame(), truemotion1_decode_frame(), tscc2_decode_frame(), ulti_decode_frame(), vqa_decode_frame(), xan_decode_frame(), and yop_decode_frame().
Definition at line 934 of file pthread_frame.c.
Referenced by ff_mpv_frame_start(), and h264_frame_start().
Definition at line 61 of file h264dec.c.
Referenced by has_decode_delay_been_guessed().
Referenced by avi_read_packet(), avs2_probe(), avs3video_probe(), cavs_decode_frame(), cavsvideo_probe(), cbs_mpeg2_split_fragment(), decode_chunks(), extract_extradata_mpeg4(), extract_extradata_vc1(), ff_mpeg1_find_frame_end(), ff_rtp_send_mpegvideo(), find_next_marker(), find_start_code(), h264_split(), hevc_split(), mpeg4video_split(), mpeg_decode_slice(), mpegts_write_packet_internal(), mpegvideo_extract_headers(), mpegvideo_probe(), mxf_parse_h264_frame(), scan_buffer(), slice_decode_thread(), and vc1_split().
Definition at line 439 of file utils.c.
Referenced by try_decode_frame().
Check that the provided frame dimensions are valid and set them on the codec context.
Definition at line 86 of file utils.c.
Referenced by alloc_buffers(), aom_decode(), apply_param_change(), avcodec_open2(), avs_decode_init(), bmp_decode_frame(), cdg_decode_init(), cdxl_decode_frame(), cfhd_decode(), clv_decode_init(), cmv_process_header(), codec_reinit(), cri_decode_frame(), dds_decode(), decode_blocks(), decode_fint(), decode_frame(), decode_frame_header(), decode_frame_headers(), decode_header(), decode_idat_chunk(), decode_init(), decode_seq_header(), dirac_decode_data_unit(), dnxhd_decode_frame(), dvbsub_parse_display_definition_segment(), dvdsub_parse_extradata(), dvvideo_decode_frame(), execute_code(), ff_h263_decode_frame(), ff_ivi_decode_frame(), ff_mjpeg_decode_sof(), ff_pnm_decode_header(), ff_rv34_decode_frame(), ff_vc1_decode_entry_point(), ff_vc1_decode_sequence_header(), ff_vp56_decode_frame(), ffmal_update_format(), fits_decode_frame(), flashsv_decode_frame(), g2m_decode_frame(), gem_decode_frame(), get_siz(), gif_decode_frame(), h261_decode_frame(), hqa_decode_frame(), init_image(), libdav1d_parse_extradata(), libdav1d_receive_frame(), libopenjpeg_decode_frame(), librsvg_decode_frame(), libuavs3d_decode_frame(), magy_decode_frame(), mediacodec_dec_parse_format(), mimic_decode_frame(), mpeg4_decode_header(), mpeg_decode_postinit(), mpegvideo_extract_headers(), mvc_decode_init(), parse_presentation_segment(), pcx_decode_frame(), pgx_decode_frame(), photocd_decode_frame(), pix_decode_frame(), pixlet_decode_frame(), process_frame_obj(), ptx_decode_frame(), rl2_decode_init(), rv20_decode_picture_header(), seqvideo_decode_init(), set_context_with_sequence(), sga_decode_frame(), sunrast_decode_frame(), svc_decode_frame(), svq1_decode_frame(), svq3_decode_init(), tdsc_parse_tdsf(), tgq_decode_frame(), tgv_decode_frame(), tqi_decode_frame(), truemotion1_decode_header(), truemotion2rt_decode_header(), txd_decode_frame(), update_context_with_frame_header(), update_dimensions(), update_size(), v4l2_handle_event(), vp56_size_changed(), vp5_parse_header(), vp6_parse_header(), vp8_lossless_decode_frame(), vpx_decode(), vqa_decode_init(), xbm_decode_frame(), xpm_decode_frame(), and xwd_decode_frame().
Check that the provided sample aspect ratio is valid and set it on the codec context.
Definition at line 101 of file utils.c.
Referenced by aom_decode(), decode_frame(), decode_sequence_header_adv(), dirac_decode_data_unit(), dvvideo_decode_frame(), export_stream_params(), ff_h263_decode_frame(), h264_slice_header_init(), libdav1d_receive_frame(), mediacodec_dec_parse_format(), truemotion1_decode_header(), and update_context_with_frame_header().
Add or update AV_FRAME_DATA_MATRIXENCODING side data.
Definition at line 116 of file utils.c.
Referenced by ac3_decode_frame(), ff_dca_core_filter_frame(), ff_dca_lbr_filter_frame(), ff_dca_xll_filter_frame(), and output_data().
Select the (possibly hardware accelerated) pixel format.
This is a wrapper around AVCodecContext.get_format() and should be used instead of calling get_format() directly.
The list of pixel formats must contain at least one valid entry, and is terminated with AV_PIX_FMT_NONE. If it is possible to decode to software, the last entry in the list must be the most accurate software format. If it is not possible to decode to software, AVCodecContext.sw_pix_fmt must be set before calling this function.
Definition at line 1089 of file decode.c.
Referenced by cuvid_decode_init(), decode_init(), ff_mediacodec_dec_init(), ff_mjpeg_decode_sof(), ff_thread_get_format(), ffmmal_init_decoder(), get_pixel_format(), h263_get_format(), qsv_decode_preinit(), submit_packet(), and vc1_decode_init().
Add a CPB properties side data to an encoding context.
Definition at line 990 of file utils.c.
Referenced by aom_init(), ff_mpv_encode_init(), libx265_encode_init(), mpeg_decode_sequence_extension(), nvenc_setup_encoder(), qsv_retrieve_enc_params(), svc_encode_init(), vpx_init(), and X264_init().
Check AVFrame for S12M timecode side data and allocate and fill TC SEI message with timecode info.
Definition at line 1030 of file utils.c.
Referenced by prepare_sei_data_array().
Get an estimated video bitrate based on frame size, frame rate and coded bits per pixel.
Definition at line 1094 of file utils.c.
Referenced by encode_init(), raw_encode_init(), v308_encode_init(), v408_encode_init(), v410_encode_init(), and y41p_encode_init().
Check if a value is in the list.
If not, return the default value
Definition at line 1115 of file utils.c.
Referenced by prores_encode_frame().
Definition at line 26 of file dvdsub.c.
Referenced by dvdsub_init(), and dvdsub_parse_extradata().
Definition at line 50 of file bitstream.c.
Referenced by decode_line_TMPL(), encode_line_TMPL(), ls_decode_line(), ls_encode_line(), and ls_encode_run().