FFmpeg: libavcodec/codec_par.c Source File
Go to the documentation of this file. 1 /*
2 * AVCodecParameters functions for libavcodec
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 /**
22 * @file
23 * AVCodecParameters functions for libavcodec.
24 */
25
26 #include <string.h>
30
32 {
34
35 memset(par, 0, sizeof(*par));
36
49 }
50
52 {
54
55 if (!par)
58 return par;
59 }
60
62 {
64
65 if (!par)
66 return;
68
70 }
71
73 {
75 memcpy(dst,
src,
sizeof(*dst));
76
85 }
86
87 return 0;
88 }
89
92 {
94
98
104
118 break;
129 break;
133 break;
134 }
135
142 }
143
144 return 0;
145 }
146
149 {
153
159
173 break;
185 break;
189 break;
190 }
191
199 }
200
201 return 0;
202 }
int frame_size
Number of samples per channel in an audio frame.
uint8_t * extradata
Extra binary data needed for initializing the decoder, codec-dependent.
Filter the word "frame" indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining all references to the list are updated That means that if a filter requires that its input and output have the same format amongst a supported all it has to do is use a reference to the same list of formats query_formats can leave some formats unset and return AVERROR(EAGAIN) to cause the negotiation mechanism toagain later. That can be used by filters with complex requirements to use the format negotiated on one link to set the formats supported on another. Frame references ownership and permissions
enum AVMediaType codec_type
General type of the encoded data.
uint64_t channel_layout
Audio channel layout.
enum AVColorSpace colorspace
YUV colorspace type.
int sample_rate
samples per second
This struct describes the properties of an encoded stream.
enum AVColorSpace color_space
int avcodec_parameters_from_context(AVCodecParameters *par, const AVCodecContext *codec)
Fill the parameters struct based on the values from the supplied codec context.
enum AVColorTransferCharacteristic color_trc
Color Transfer Characteristic.
enum AVFieldOrder field_order
Field order.
int seek_preroll
Audio only.
void avcodec_parameters_free(AVCodecParameters **ppar)
Free an AVCodecParameters instance and everything associated with it and write NULL to the supplied p...
uint32_t codec_tag
Additional information about the codec (corresponds to the AVI FOURCC).
enum AVColorPrimaries color_primaries
int bits_per_raw_sample
This is the number of valid bits in each output sample.
int initial_padding
Audio only.
enum AVColorTransferCharacteristic color_trc
enum AVColorPrimaries color_primaries
Chromaticity coordinates of the source primaries.
int frame_size
Audio only.
int has_b_frames
Size of the frame reordering buffer in the decoder.
AVRational sample_aspect_ratio
Video only.
#define FF_PROFILE_UNKNOWN
int bits_per_raw_sample
Bits per sample/pixel of internal libavcodec pixel/sample format.
enum AVColorRange color_range
MPEG vs JPEG YUV range.
Rational number (pair of numerator and denominator).
int64_t bit_rate
the average bitrate
int trailing_padding
Audio only.
@ AVCOL_RANGE_UNSPECIFIED
int sample_rate
Audio only.
int extradata_size
Size of the extradata content in bytes.
enum AVSampleFormat sample_fmt
audio sample format
int profile
Codec-specific bitstream restrictions that the stream conforms to.
@ AVCHROMA_LOC_UNSPECIFIED
@ AVMEDIA_TYPE_UNKNOWN
Usually treated as AVMEDIA_TYPE_DATA.
static void codec_parameters_reset(AVCodecParameters *par)
int channels
number of audio channels
int avcodec_parameters_copy(AVCodecParameters *dst, const AVCodecParameters *src)
Copy the contents of src to dst.
int bits_per_coded_sample
bits per sample/pixel from the demuxer (needed for huffyuv).
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
int avcodec_parameters_to_context(AVCodecContext *codec, const AVCodecParameters *par)
Fill the codec context based on the values from the supplied codec parameters.
int block_align
Audio only.
void * av_mallocz(size_t size)
Allocate a memory block with alignment suitable for all memory accesses (including vectors if availab...
AVCodecParameters * avcodec_parameters_alloc(void)
Allocate a new AVCodecParameters and set its fields to default values (unknown/invalid/0).
enum AVChromaLocation chroma_sample_location
This defines the location of chroma samples.
enum AVColorRange color_range
Video only.
enum AVPixelFormat pix_fmt
Pixel format, see AV_PIX_FMT_xxx.
enum AVFieldOrder field_order
Video only.
int block_align
number of bytes per packet if constant and known or 0 Used by some WAV based audio codecs.
#define AV_INPUT_BUFFER_PADDING_SIZE
enum AVChromaLocation chroma_location
int trailing_padding
Audio only.
main external API structure.
enum AVMediaType codec_type
int seek_preroll
Number of samples to skip after a discontinuity.
int bits_per_coded_sample
The number of bits per sample in the codedwords.
int video_delay
Video only.
unsigned int codec_tag
fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A').
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
uint64_t channel_layout
Audio only.
int width
picture width / height.
int64_t bit_rate
The average bitrate of the encoded data (in bits per second).
int initial_padding
Audio only.
AVRational sample_aspect_ratio
sample aspect ratio (0 if unknown) That is the width of a pixel divided by the height of the pixel.
Generated on Wed Aug 24 2022 21:33:50 for FFmpeg by
doxygen
1.8.17