FFmpeg
Data Structures | Macros | Functions
Encoding

Data Structures

struct  RcOverride
 

Macros

#define AV_INPUT_BUFFER_MIN_SIZE   16384
 

Functions

AVCodecavcodec_find_encoder (enum AVCodecID id)
 Find a registered encoder with a matching codec ID. More...
 
AVCodecavcodec_find_encoder_by_name (const char *name)
 Find a registered encoder with the specified name. More...
 
attribute_deprecated int avcodec_encode_audio2 (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
 Encode a frame of audio. More...
 
attribute_deprecated int avcodec_encode_video2 (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
 Encode a frame of video. More...
 
int avcodec_encode_subtitle (AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVSubtitle *sub)
 

Detailed Description

Macro Definition Documentation

◆ AV_INPUT_BUFFER_MIN_SIZE

#define AV_INPUT_BUFFER_MIN_SIZE   16384

minimum encoding buffer size Used to avoid some checks during header writing.

Definition at line 797 of file avcodec.h.

Function Documentation

◆ avcodec_find_encoder()

AVCodec* avcodec_find_encoder ( enum AVCodecID  id)

Find a registered encoder with a matching codec ID.

Parameters
idAVCodecID of the requested encoder
Returns
An encoder if one was found, NULL otherwise.

Definition at line 885 of file allcodecs.c.

Referenced by add_stream(), avcodec_get_name(), avcodec_open2(), choose_encoder(), config_input(), config_props(), estimate_best_b_count(), filter_codec_opts(), find_codec_or_die(), main(), open_output_file(), and show_codecs().

◆ avcodec_find_encoder_by_name()

AVCodec* avcodec_find_encoder_by_name ( const char *  name)

Find a registered encoder with the specified name.

Parameters
namename of the requested encoder
Returns
An encoder if one was found, NULL otherwise.

Definition at line 913 of file allcodecs.c.

Referenced by find_codec_or_die(), main(), and show_help_codec().

◆ avcodec_encode_audio2()

attribute_deprecated int avcodec_encode_audio2 ( AVCodecContext avctx,
AVPacket avpkt,
const AVFrame frame,
int got_packet_ptr 
)

Encode a frame of audio.

Takes input samples from frame and writes the next output packet, if available, to avpkt. The output packet does not necessarily contain data for the most recent frame, as encoders can delay, split, and combine input frames internally as needed.

Parameters
avctxcodec context
avpktoutput AVPacket. The user can supply an output buffer by setting avpkt->data and avpkt->size prior to calling the function, but if the size of the user-provided data is not large enough, encoding will fail. If avpkt->data and avpkt->size are set, avpkt->destruct must also be set. All other AVPacket fields will be reset by the encoder using av_init_packet(). If avpkt->data is NULL, the encoder will allocate it. The encoder will set avpkt->size to the size of the output packet.

If this function fails or produces no output, avpkt will be freed using av_packet_unref().

Parameters
[in]frameAVFrame containing the raw audio data to be encoded. May be NULL when flushing an encoder that has the AV_CODEC_CAP_DELAY capability set. If AV_CODEC_CAP_VARIABLE_FRAME_SIZE is set, then each frame can have any number of samples. If it is not set, frame->nb_samples must be equal to avctx->frame_size for all frames except the last. The final frame may be smaller than avctx->frame_size.
[out]got_packet_ptrThis field is set to 1 by libavcodec if the output packet is non-empty, and to 0 if it is empty. If the function returns an error, the packet can be assumed to be invalid, and the value of got_packet_ptr is undefined and should not be used.
Returns
0 on success, negative error code on failure
Deprecated:
use avcodec_send_frame()/avcodec_receive_packet() instead
Examples
muxing.c, and transcoding.c.

Definition at line 118 of file encode.c.

Referenced by do_encode(), encode_write_frame(), run_test(), wrap(), and write_audio_frame().

◆ avcodec_encode_video2()

attribute_deprecated int avcodec_encode_video2 ( AVCodecContext avctx,
AVPacket avpkt,
const AVFrame frame,
int got_packet_ptr 
)

Encode a frame of video.

Takes input raw video data from frame and writes the next output packet, if available, to avpkt. The output packet does not necessarily contain data for the most recent frame, as encoders can delay and reorder input frames internally as needed.

Parameters
avctxcodec context
avpktoutput AVPacket. The user can supply an output buffer by setting avpkt->data and avpkt->size prior to calling the function, but if the size of the user-provided data is not large enough, encoding will fail. All other AVPacket fields will be reset by the encoder using av_init_packet(). If avpkt->data is NULL, the encoder will allocate it. The encoder will set avpkt->size to the size of the output packet. The returned data (if any) belongs to the caller, he is responsible for freeing it.

If this function fails or produces no output, avpkt will be freed using av_packet_unref().

Parameters
[in]frameAVFrame containing the raw video data to be encoded. May be NULL when flushing an encoder that has the AV_CODEC_CAP_DELAY capability set.
[out]got_packet_ptrThis field is set to 1 by libavcodec if the output packet is non-empty, and to 0 if it is empty. If the function returns an error, the packet can be assumed to be invalid, and the value of got_packet_ptr is undefined and should not be used.
Returns
0 on success, negative error code on failure
Deprecated:
use avcodec_send_frame()/avcodec_receive_packet() instead
Examples
muxing.c, and transcoding.c.

Definition at line 258 of file encode.c.

Referenced by do_encode(), encode_write_frame(), filter(), filter_frame(), worker(), wrap(), and write_video_frame().

◆ avcodec_encode_subtitle()

int avcodec_encode_subtitle ( AVCodecContext avctx,
uint8_t buf,
int  buf_size,
const AVSubtitle sub 
)

Definition at line 342 of file encode.c.

Referenced by do_subtitle_out(), and wrap().