FFmpeg
Macros | Functions
encode.h File Reference
#include "libavutil/frame.h"
#include "avcodec.h"
#include "packet.h"

Go to the source code of this file.

Macros

#define  FF_INPUT_BUFFER_MIN_SIZE   16384
  Used by some encoders as upper bound for the length of headers. More...
 
#define  FF_MATRIX_TYPE_INTRA   (1U << 0)
  Check if the elements of codec context matrices (intra_matrix, inter_matrix or chroma_intra_matrix) are within the specified range. More...
 
#define  FF_MATRIX_TYPE_INTER   (1U << 1)
 
#define  FF_MATRIX_TYPE_CHROMA_INTRA   (1U << 2)
 

Functions

  Called by encoders to get the next frame for encoding. More...
 
  Get a buffer for a packet. More...
 
  Allocate buffers for a frame. More...
 
  Check AVPacket size and allocate data. More...
 
  Propagate user opaque values from the frame to avctx/pkt as needed. More...
 
int  ff_encode_encode_cb (AVCodecContext *avctx, AVPacket *avpkt, AVFrame *frame, int *got_packet)
 
  Add a CPB properties side data to an encoding context. More...
 
int  ff_encode_add_stats_side_data (AVPacket *pkt, int quality, const int64_t error[], int error_count, enum AVPictureType pict_type)
 
  Rescale from sample rate to AVCodecContext.time_base. More...
 
int  ff_check_codec_matrices (AVCodecContext *avctx, unsigned types, uint16_t min, uint16_t max)
 

Macro Definition Documentation

FF_INPUT_BUFFER_MIN_SIZE

#define FF_INPUT_BUFFER_MIN_SIZE   16384

Used by some encoders as upper bound for the length of headers.

TODO: Use proper codec-specific upper bounds.

Definition at line 33 of file encode.h.

FF_MATRIX_TYPE_INTRA

#define FF_MATRIX_TYPE_INTRA   (1U << 0)

Check if the elements of codec context matrices (intra_matrix, inter_matrix or chroma_intra_matrix) are within the specified range.

Definition at line 106 of file encode.h.

FF_MATRIX_TYPE_INTER

#define FF_MATRIX_TYPE_INTER   (1U << 1)

Definition at line 107 of file encode.h.

FF_MATRIX_TYPE_CHROMA_INTRA

#define FF_MATRIX_TYPE_CHROMA_INTRA   (1U << 2)

Definition at line 108 of file encode.h.

Function Documentation

ff_encode_get_frame()

int ff_encode_get_frame ( AVCodecContextavctx,
AVFrameframe 
)

Called by encoders to get the next frame for encoding.

Parameters
frame An empty frame to be filled with data.
Returns
0 if a new reference has been successfully written to frame AVERROR(EAGAIN) if no data is currently available AVERROR_EOF if end of stream has been reached, so no more data will be available

Definition at line 204 of file encode.c.

Referenced by eb_receive_packet(), encode_simple_internal(), ff_amf_receive_packet(), ff_hw_base_encode_receive_packet(), ff_nvenc_receive_packet(), libjxl_anim_encode_frame(), librav1e_receive_packet(), mediacodec_encode(), mf_receive_packet(), oh_encode_receive(), v4l2_receive_packet(), and vulkan_encode_ffv1_receive_packet().

ff_get_encode_buffer()

int ff_get_encode_buffer ( AVCodecContextavctx,
AVPacketavpkt,
int64_t  size,
int  flags 
)

Get a buffer for a packet.

This is a wrapper around AVCodecContext.get_encode_buffer() and should be used instead calling get_encode_buffer() directly.

Definition at line 105 of file encode.c.

Referenced by a64multi_encode_frame(), adx_encode_frame(), amf_copy_buffer(), aptx_encode_frame(), avui_encode_frame(), bmp_encode_frame(), cng_encode_frame(), d3d12va_encode_get_coded_data(), dfpwm_enc_frame(), dnxhd_encode_picture(), dvvideo_encode_frame(), encode_apng(), encode_frame(), encode_make_refcounted(), encode_nals(), encode_picture_ls(), encode_yuv422p10(), ff_ac3_encode_frame(), fits_encode_frame(), flac_encode_frame(), g723_1_encode_frame(), get_packet(), hdr_encode_frame(), libcodec2_encode(), libgsm_encode_frame(), libjxl_anim_encode_frame(), libjxl_encode_frame(), libkvazaar_encode(), liblc3_encode(), liboapve_encode(), librav1e_receive_packet(), libshine_encode_frame(), libvorbis_encode_frame(), libwebp_anim_encode_frame(), libwebp_encode_frame(), libx265_encode_frame(), libxeve_encode(), magy_encode_frame(), mediacodec_receive(), mf_sample_to_avpacket(), mp3lame_encode_frame(), mpa_encode_frame(), oh_encode_output_packet(), pam_encode_frame(), pcm_bluray_encode_frame(), pcm_dvd_encode_frame(), pcm_encode_frame(), pnm_encode_frame(), process_output_surface(), ra144_encode_frame(), raw_encode(), roq_dpcm_encode_frame(), s302m_encode2_frame(), sbc_encode_frame(), storeframe(), svc_encode_frame(), v308_encode_frame(), v408_encode_frame(), v410_encode_frame(), vaapi_encode_get_coded_data(), vaapi_encode_output(), vbn_encode(), vtenc_cm_to_avpacket(), vulkan_encode_output(), vvenc_frame(), wbmp_encode_frame(), xavs2_encode_frame(), XAVS_frame(), xface_encode_frame(), xwd_encode_frame(), y41p_encode_frame(), and yuv4_encode_frame().

ff_encode_alloc_frame()

int ff_encode_alloc_frame ( AVCodecContextavctx,
AVFrameframe 
)

Allocate buffers for a frame.

Encoder equivalent to ff_get_buffer().

Definition at line 837 of file encode.c.

Referenced by get_encode_buffer(), librav1e_receive_packet(), prepare_picture(), roq_encode_frame(), and svq1_encode_init().

ff_alloc_packet()

int ff_alloc_packet ( AVCodecContextavctx,
AVPacketavpkt,
int64_t  size 
)

Check AVPacket size and allocate data.

Encoders of type FF_CODEC_CB_TYPE_ENCODE can use this as a convenience to obtain a big enough buffer for the encoded bitstream.

Parameters
avctx the AVCodecContext of the encoder
avpkt The AVPacket: on success, avpkt->data will point to a buffer of size at least size; the packet will not be refcounted. This packet must be initially blank.
size an upper bound of the size of the packet to encode
Returns
non negative on success, negative error code on failure

Definition at line 61 of file encode.c.

Referenced by aac_encode_frame(), alac_encode_frame(), amr_wb_encode_frame(), cfhd_encode_frame(), cinepak_encode_frame(), dxv_encode(), encode_frame(), encode_png(), encode_superframe(), ff_mpv_encode_picture(), ffat_encode(), flashsv2_encode_frame(), flashsv_encode_frame(), gif_encode_frame(), hap_encode(), ilbc_encode_frame(), libopenjpeg_encode_frame(), libopus_encode(), ljpeg_encode_frame(), mlp_encode_frame(), msrle_encode_frame(), opus_encode_frame(), pcx_encode_frame(), prores_encode_frame(), qoi_encode_frame(), qtrle_encode_frame(), roq_encode_frame(), rpza_encode_frame(), smc_encode_frame(), sunrast_encode_frame(), svq1_encode_frame(), targa_encode_frame(), tta_encode_frame(), twolame_encode_frame(), utvideo_encode_frame(), vorbis_encode_frame(), wavpack_encode_frame(), xbm_encode_frame(), and xvid_encode_frame().

ff_encode_reordered_opaque()

int ff_encode_reordered_opaque ( AVCodecContextavctx,
AVPacketpkt,
const AVFrameframe 
)

Propagate user opaque values from the frame to avctx/pkt as needed.

Definition at line 219 of file encode.c.

Referenced by encode_apng(), encode_frame(), ff_encode_encode_cb(), and ff_mpv_encode_picture().

ff_encode_encode_cb()

int ff_encode_encode_cb ( AVCodecContextavctx,
AVPacketavpkt,
AVFrameframe,
int *  got_packet 
)

Definition at line 232 of file encode.c.

Referenced by encode_simple_internal(), and worker().

ff_encode_add_cpb_side_data()

AVCPBProperties* ff_encode_add_cpb_side_data ( AVCodecContextavctx )

Add a CPB properties side data to an encoding context.

Definition at line 887 of file encode.c.

Referenced by aac_encode_init(), aom_init(), config_enc_params(), ff_mpv_encode_init(), libx265_encode_init(), nvenc_setup_encoder(), qsv_retrieve_enc_params(), svc_encode_init(), vpx_init(), and X264_init().

ff_encode_add_stats_side_data()

int ff_encode_add_stats_side_data ( AVPacketpkt,
int  quality,
const int64_t  error[],
int  error_count,
enum AVPictureType  pict_type 
)

Definition at line 918 of file encode.c.

Referenced by dnxhd_encode_picture(), eb_receive_packet(), encode_frame(), ff_mpv_encode_picture(), ff_qsv_encode(), libkvazaar_encode(), liboapve_encode(), libx265_encode_frame(), libxeve_encode(), process_output_surface(), storeframe(), svq1_encode_frame(), X264_frame(), XAVS_frame(), and xvid_encode_frame().

ff_samples_to_time_base()

static av_always_inline int64_t ff_samples_to_time_base ( const AVCodecContextavctx,
int64_t  samples 
)
static

Rescale from sample rate to AVCodecContext.time_base.

Definition at line 93 of file encode.h.

Referenced by amr_wb_encode_frame(), encode_superframe(), ff_ac3_encode_frame(), ff_af_queue_remove(), ff_encode_encode_cb(), flac_encode_frame(), libvorbis_encode_frame(), mpa_encode_frame(), and twolame_encode_frame().

ff_check_codec_matrices()

int ff_check_codec_matrices ( AVCodecContextavctx,
unsigned  types,
uint16_t  min,
uint16_t  max 
)

Definition at line 943 of file encode.c.

Referenced by encode_picture(), init_matrices(), and xvid_encode_init().


Generated on Wed Nov 19 2025 19:23:42 for FFmpeg by   doxygen 1.8.17

AltStyle によって変換されたページ (->オリジナル) /