MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / avcodec_parameters_from_context

Function avcodec_parameters_from_context

libavcodec/codec_par.c:138–203  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

136}
137
138int avcodec_parameters_from_context(AVCodecParameters *par,
139 const AVCodecContext *codec)
140{
141 int ret;
142
143 codec_parameters_reset(par);
144
145 par->codec_type = codec->codec_type;
146 par->codec_id = codec->codec_id;
147 par->codec_tag = codec->codec_tag;
148
149 par->bit_rate = codec->bit_rate;
150 par->bits_per_coded_sample = codec->bits_per_coded_sample;
151 par->bits_per_raw_sample = codec->bits_per_raw_sample;
152 par->profile = codec->profile;
153 par->level = codec->level;
154
155 switch (par->codec_type) {
156 case AVMEDIA_TYPE_VIDEO:
157 par->format = codec->pix_fmt;
158 par->width = codec->width;
159 par->height = codec->height;
160 par->field_order = codec->field_order;
161 par->color_range = codec->color_range;
162 par->color_primaries = codec->color_primaries;
163 par->color_trc = codec->color_trc;
164 par->color_space = codec->colorspace;
165 par->chroma_location = codec->chroma_sample_location;
166 par->sample_aspect_ratio = codec->sample_aspect_ratio;
167 par->video_delay = codec->has_b_frames;
168 par->framerate = codec->framerate;
169 par->alpha_mode = codec->alpha_mode;
170 break;
171 case AVMEDIA_TYPE_AUDIO:
172 par->format = codec->sample_fmt;
173 ret = av_channel_layout_copy(&par->ch_layout, &codec->ch_layout);
174 if (ret < 0)
175 return ret;
176 par->sample_rate = codec->sample_rate;
177 par->block_align = codec->block_align;
178 par->frame_size = codec->frame_size;
179 par->initial_padding = codec->initial_padding;
180 par->trailing_padding = codec->trailing_padding;
181 par->seek_preroll = codec->seek_preroll;
182 break;
183 case AVMEDIA_TYPE_SUBTITLE:
184 par->width = codec->width;
185 par->height = codec->height;
186 break;
187 }
188
189 if (codec->extradata) {
190 par->extradata = av_mallocz(codec->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
191 if (!par->extradata)
192 return AVERROR(ENOMEM);
193 memcpy(par->extradata, codec->extradata, codec->extradata_size);
194 par->extradata_size = codec->extradata_size;
195 }

Callers 15

codec_closeFunction · 0.85
parameters_from_contextFunction · 0.85
encode_frameFunction · 0.85
of_stream_initFunction · 0.85
ffmpeg_mux_init.cFile · 0.85
qsv_enc_initFunction · 0.85
mediacodec_init_bsfFunction · 0.85
aom_initFunction · 0.85
decode_bsfs_initFunction · 0.85
dec_encFunction · 0.85
open_audioFunction · 0.85

Calls 4

codec_parameters_resetFunction · 0.85
av_channel_layout_copyFunction · 0.85
av_malloczFunction · 0.50

Tested by

no test coverage detected