FFmpeg
|
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/channel_layout.h"
#include "libavutil/emms.h"
#include "libavutil/frame.h"
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/mem.h"
#include "libavutil/pixdesc.h"
#include "libavutil/samplefmt.h"
#include "avcodec.h"
#include "avcodec_internal.h"
#include "codec_desc.h"
#include "codec_internal.h"
#include "encode.h"
#include "frame_thread_encoder.h"
#include "internal.h"
Go to the source code of this file.
Data Structures | |
struct | EncodeContext |
|
static |
Definition at line 57 of file encode.c.
Referenced by encode_receive_packet_internal(), encode_send_frame_internal(), ff_encode_preinit(), and pad_last_frame().
int ff_alloc_packet | ( | AVCodecContext * | avctx, |
AVPacket * | avpkt, | ||
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.
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 |
Definition at line 62 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(), magy_encode_frame(), mlp_encode_frame(), MPA_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().
int ff_get_encode_buffer | ( | AVCodecContext * | avctx, |
AVPacket * | avpkt, | ||
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 106 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(), hdr_encode_frame(), libcodec2_encode(), libgsm_encode_frame(), libjxl_encode_frame(), libkvazaar_encode(), liblc3_encode(), librav1e_receive_packet(), libshine_encode_frame(), libvorbis_encode_frame(), libwebp_anim_encode_frame(), libwebp_encode_frame(), libx265_encode_frame(), libxeve_encode(), mediacodec_receive(), mf_sample_to_avpacket(), mp3lame_encode_frame(), 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(), vvenc_frame(), wbmp_encode_frame(), xavs2_encode_frame(), XAVS_frame(), xface_encode_frame(), xwd_encode_frame(), y41p_encode_frame(), and yuv4_encode_frame().
|
static |
Definition at line 137 of file encode.c.
Referenced by ff_encode_encode_cb().
|
static |
Pad last frame with silence.
Definition at line 157 of file encode.c.
Referenced by encode_send_frame_internal().
int ff_encode_get_frame | ( | AVCodecContext * | avctx, |
AVFrame * | frame | ||
) |
Called by encoders to get the next frame for encoding.
frame | An empty frame to be filled with data. |
Definition at line 205 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(), librav1e_receive_packet(), mediacodec_encode(), mf_receive_packet(), v4l2_receive_packet(), and vulkan_encode_ffv1_receive_packet().
int ff_encode_reordered_opaque | ( | AVCodecContext * | avctx, |
AVPacket * | pkt, | ||
const AVFrame * | frame | ||
) |
Propagate user opaque values from the frame to avctx/pkt as needed.
Definition at line 235 of file encode.c.
Referenced by encode_apng(), encode_frame(), ff_encode_encode_cb(), and ff_mpv_encode_picture().
int ff_encode_encode_cb | ( | AVCodecContext * | avctx, |
AVPacket * | avpkt, | ||
AVFrame * | frame, | ||
int * | got_packet | ||
) |
Definition at line 248 of file encode.c.
Referenced by encode_simple_internal(), and worker().
|
static |
Definition at line 305 of file encode.c.
Referenced by encode_simple_receive_packet().
|
static |
Definition at line 349 of file encode.c.
Referenced by encode_receive_packet_internal().
|
static |
Definition at line 362 of file encode.c.
Referenced by avcodec_receive_packet(), and avcodec_send_frame().
|
static |
Definition at line 439 of file encode.c.
Referenced by encode_send_frame_internal().
|
static |
Definition at line 445 of file encode.c.
Referenced by avcodec_send_frame().
|
static |
Definition at line 562 of file encode.c.
Referenced by ff_encode_preinit().
|
static |
Definition at line 652 of file encode.c.
Referenced by ff_encode_preinit().
int ff_encode_preinit | ( | AVCodecContext * | avctx | ) |
Definition at line 756 of file encode.c.
Referenced by avcodec_open2().
int ff_encode_alloc_frame | ( | AVCodecContext * | avctx, |
AVFrame * | frame | ||
) |
Allocate buffers for a frame.
Encoder equivalent to ff_get_buffer().
Definition at line 847 of file encode.c.
Referenced by get_encode_buffer(), librav1e_receive_packet(), prepare_picture(), roq_encode_frame(), and svq1_encode_frame().
int ff_encode_receive_frame | ( | AVCodecContext * | avctx, |
AVFrame * | frame | ||
) |
avcodec_receive_frame() implementation for encoders.
Definition at line 881 of file encode.c.
Referenced by avcodec_receive_frame().
void ff_encode_flush_buffers | ( | AVCodecContext * | avctx | ) |
Definition at line 894 of file encode.c.
Referenced by avcodec_flush_buffers().
AVCodecInternal* ff_encode_internal_alloc | ( | void | ) |
Definition at line 904 of file encode.c.
Referenced by avcodec_open2().
AVCPBProperties* ff_encode_add_cpb_side_data | ( | AVCodecContext * | avctx | ) |
Add a CPB properties side data to an encoding context.
Definition at line 909 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().