Functions
AVCodec
*
avcodec_find_encoder
(enum
AVCodecID
id
)
Find a registered encoder with a matching codec ID.
AVCodec
*
avcodec_find_encoder_by_name
(const char *
name
)
Find a registered encoder with the specified name.
int
avcodec_encode_audio2
(
AVCodecContext
*avctx,
AVPacket
*avpkt, const
AVFrame
*
frame
, int *got_packet_ptr)
Encode a frame of audio.
int
avcodec_encode_video2
(
AVCodecContext
*avctx,
AVPacket
*avpkt, const
AVFrame
*
frame
, int *got_packet_ptr)
Encode a frame of video.
int
avcodec_encode_subtitle
(
AVCodecContext
*avctx,
uint8_t
*buf, int buf_size, const
AVSubtitle
*sub)
minimum encoding buffer size Used to avoid some checks during header writing.
Definition at line
568
of file
avcodec.h
.
Referenced by
encode_frame()
,
encode_nals()
,
encode_picture_lossless()
,
encode_picture_ls()
,
flashsv2_encode_frame()
,
gif_encode_frame()
,
prores_encode_frame()
,
svq1_encode_frame()
, and
xvid_encode_frame()
.
-
Returns
-
An encoder if one was found, NULL otherwise.
-
Examples:
-
doc/examples/decoding_encoding.c
, and
doc/examples/muxing.c
.
Definition at line
2102
of file
utils.c
.
Referenced by
add_stream()
,
asf_write_header1()
,
audio_encode_example()
,
avcodec_get_name()
,
avcodec_get_type()
,
avcodec_open2()
,
avcodec_string()
,
choose_encoder()
,
compute_status()
,
config()
,
estimate_best_b_count()
,
ffserver_opt_preset()
,
filter_codec_opts()
,
find_codec_or_die()
,
read_ffserver_streams()
,
show_codecs()
,
transcode_init()
, and
video_encode_example()
.
-
Returns
-
An encoder if one was found, NULL otherwise.
Definition at line
2107
of file
utils.c
.
Referenced by
find_codec_or_die()
,
opt_audio_codec()
,
opt_video_codec()
, and
show_help_codec()
.
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_free_packet()
(i.e. avpkt->destruct will be called to free the user supplied buffer).
-
Parameters
-
[in]frame
AVFrame
containing the raw audio data to be encoded. May be NULL when flushing an encoder that has the CODEC_CAP_DELAY capability set. If 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
-
Examples:
-
doc/examples/decoding_encoding.c
, and
doc/examples/muxing.c
.
Definition at line
1235
of file
utils.c
.
Referenced by
audio_encode_example()
,
do_audio_out()
,
flush_encoders()
,
wrap()
, and
write_audio_frame()
.
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_free_packet()
(i.e. avpkt->destruct will be called to free the user supplied buffer).
-
Parameters
-
[in]frame
AVFrame
containing the raw video data to be encoded. May be NULL when flushing an encoder that has the 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
-
Examples:
-
doc/examples/decoding_encoding.c
, and
doc/examples/muxing.c
.
Definition at line
1476
of file
utils.c
.
Referenced by
do_video_out()
,
encode_frame()
,
flush_encoders()
,
video_encode_example()
,
worker()
, and
write_video_frame()
.