FFmpeg
|
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/channel_layout.h"
#include "libavutil/frame.h"
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/samplefmt.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "encode.h"
#include "frame_thread_encoder.h"
#include "internal.h"
Go to the source code of this file.
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 35 of file encode.c.
Referenced by aac_encode_frame(), alac_encode_frame(), amr_wb_encode_frame(), cfhd_encode_frame(), cinepak_encode_frame(), 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(), 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 79 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(), 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_common_end(), fits_encode_frame(), flac_encode_frame(), g723_1_encode_frame(), hdr_encode_frame(), libcodec2_encode(), libgsm_encode_frame(), libjxl_encode_frame(), libkvazaar_encode(), librav1e_receive_packet(), libshine_encode_frame(), libvorbis_encode_frame(), libwebp_anim_encode_frame(), libwebp_encode_frame(), libx265_encode_frame(), 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_output(), vbn_encode(), vtenc_cm_to_avpacket(), 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 110 of file encode.c.
Referenced by ff_encode_encode_cb().
|
static |
Pad last frame with silence.
Definition at line 130 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 183 of file encode.c.
Referenced by eb_receive_packet(), encode_simple_internal(), ff_amf_receive_packet(), ff_nvenc_receive_packet(), ff_vaapi_encode_receive_packet(), librav1e_receive_packet(), mediacodec_encode(), mf_receive_packet(), and v4l2_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 198 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 217 of file encode.c.
Referenced by encode_simple_internal(), and worker().
|
static |
Definition at line 274 of file encode.c.
Referenced by encode_simple_receive_packet().
|
static |
Definition at line 318 of file encode.c.
Referenced by encode_receive_packet_internal().
|
static |
Definition at line 331 of file encode.c.
Referenced by avcodec_receive_packet(), and avcodec_send_frame().
|
static |
Definition at line 408 of file encode.c.
Referenced by encode_send_frame_internal().
|
static |
Definition at line 414 of file encode.c.
Referenced by avcodec_send_frame().
|
static |
Definition at line 542 of file encode.c.
Referenced by ff_encode_preinit().
|
static |
Definition at line 609 of file encode.c.
Referenced by ff_encode_preinit().
int ff_encode_preinit | ( | AVCodecContext * | avctx | ) |
Definition at line 667 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 729 of file encode.c.
Referenced by alloc_frame_buffer(), ff_snow_get_buffer(), librav1e_receive_packet(), 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 763 of file encode.c.
Referenced by avcodec_receive_frame().