FFmpeg
Functions
encode.c File Reference
#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 "encode.h"
#include "frame_thread_encoder.h"
#include "internal.h"

Go to the source code of this file.

Functions

int  ff_alloc_packet (AVCodecContext *avctx, AVPacket *avpkt, int64_t size)
  Check AVPacket size and allocate data. More...
 
  The default callback for AVCodecContext.get_encode_buffer(). More...
 
  Get a buffer for a packet. More...
 
  Pad last frame with silence. More...
 
int  avcodec_encode_subtitle (AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVSubtitle *sub)
 
  Called by encoders to get the next frame for encoding. More...
 
 
 
 
 
int attribute_align_arg  avcodec_send_frame (AVCodecContext *avctx, const AVFrame *frame)
  Supply a raw video or audio frame to the encoder. More...
 
int attribute_align_arg  avcodec_receive_packet (AVCodecContext *avctx, AVPacket *avpkt)
  Read encoded data from the encoder. More...
 
 

Function Documentation

ff_alloc_packet()

int ff_alloc_packet ( AVCodecContextavctx,
AVPacketavpkt,
int64_t  size 
)

Check AVPacket size and allocate data.

Encoders supporting AVCodec.encode2() 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 34 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(), 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_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 78 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(), dnxhd_encode_picture(), dvvideo_encode_frame(), encode_apng(), encode_frame(), encode_nals(), encode_picture_ls(), encode_yuv422p10(), ff_ac3_encode_frame_common_end(), fits_encode_frame(), flac_encode_frame(), g723_1_encode_frame(), libcodec2_encode(), libgsm_encode_frame(), libkvazaar_encode(), librav1e_receive_packet(), libshine_encode_frame(), libvorbis_encode_frame(), libwebp_anim_encode_frame(), libwebp_encode_frame(), libx265_encode_frame(), mf_sample_to_avpacket(), mp3lame_encode_frame(), pam_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(), vtenc_cm_to_avpacket(), xavs2_encode_frame(), XAVS_frame(), xface_encode_frame(), xwd_encode_frame(), y41p_encode_frame(), and yuv4_encode_frame().

pad_last_frame()

static int pad_last_frame ( AVCodecContexts,
AVFrameframe,
const AVFramesrc 
)
static

Pad last frame with silence.

Definition at line 112 of file encode.c.

Referenced by encode_send_frame_internal().

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 157 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(), mf_receive_packet(), and v4l2_receive_packet().

encode_simple_internal()

static int encode_simple_internal ( AVCodecContextavctx,
AVPacketavpkt 
)
static

Definition at line 172 of file encode.c.

Referenced by encode_simple_receive_packet().

encode_simple_receive_packet()

static int encode_simple_receive_packet ( AVCodecContextavctx,
AVPacketavpkt 
)
static

Definition at line 261 of file encode.c.

Referenced by encode_receive_packet_internal().

encode_receive_packet_internal()

static int encode_receive_packet_internal ( AVCodecContextavctx,
AVPacketavpkt 
)
static

Definition at line 274 of file encode.c.

Referenced by avcodec_receive_packet(), and avcodec_send_frame().

encode_send_frame_internal()

static int encode_send_frame_internal ( AVCodecContextavctx,
const AVFramesrc 
)
static

Definition at line 308 of file encode.c.

Referenced by avcodec_send_frame().

ff_encode_preinit()

int ff_encode_preinit ( AVCodecContextavctx )

Definition at line 409 of file encode.c.

Referenced by avcodec_open2().


Generated on Wed Aug 24 2022 21:38:37 for FFmpeg by   doxygen 1.8.17

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