FFmpeg
4.4.5
libavcodec
encode.h
Go to the documentation of this file.
1
/*
2
* generic encoding-related code
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#ifndef AVCODEC_ENCODE_H
22
#define AVCODEC_ENCODE_H
23
24
#include "
libavutil/frame.h
"
25
26
#include "
avcodec.h
"
27
#include "
packet.h
"
28
29
/**
30
* Called by encoders to get the next frame for encoding.
31
*
32
* @param frame An empty frame to be filled with data.
33
* @return 0 if a new reference has been successfully written to frame
34
* AVERROR(EAGAIN) if no data is currently available
35
* AVERROR_EOF if end of stream has been reached, so no more data
36
* will be available
37
*/
38
int
ff_encode_get_frame
(
AVCodecContext
*avctx,
AVFrame
*
frame
);
39
40
/**
41
* Get a buffer for a packet. This is a wrapper around
42
* AVCodecContext.get_encode_buffer() and should be used instead calling get_encode_buffer()
43
* directly.
44
*/
45
int
ff_get_encode_buffer
(
AVCodecContext
*avctx,
AVPacket
*avpkt,
int64_t
size
,
int
flags
);
46
47
/*
48
* Perform encoder initialization and validation.
49
* Called when opening the encoder, before the AVCodec.init() call.
50
*/
51
int
ff_encode_preinit
(
AVCodecContext
*avctx);
52
53
#endif
/* AVCODEC_ENCODE_H */
avcodec.h
Libavcodec external API header.
flags
#define flags(name, subs,...)
Definition:
cbs_av1.c:572
int64_t
long long int64_t
Definition:
coverity.c:34
frame
static AVFrame * frame
Definition:
demuxing_decoding.c:53
ff_get_encode_buffer
int ff_get_encode_buffer(AVCodecContext *avctx, AVPacket *avpkt, int64_t size, int flags)
Get a buffer for a packet.
Definition:
encode.c:82
ff_encode_get_frame
int ff_encode_get_frame(AVCodecContext *avctx, AVFrame *frame)
Called by encoders to get the next frame for encoding.
Definition:
encode.c:160
ff_encode_preinit
int ff_encode_preinit(AVCodecContext *avctx)
Definition:
encode.c:527
frame.h
reference-counted frame API
packet.h
AVCodecContext
main external API structure.
Definition:
avcodec.h:536
AVFrame
This structure describes decoded (raw) audio or video data.
Definition:
frame.h:318
AVPacket
This structure stores compressed data.
Definition:
packet.h:346
size
int size
Definition:
twinvq_data.h:10344
Generated on Sun Apr 20 2025 13:06:49 for FFmpeg by
1.9.1