Lines Matching defs:avctx

95 static av_cold int amf_encode_init_hevc(AVCodecContext *avctx)
99 AmfContext *ctx = avctx->priv_data;
106 AMFSize framesize = AMFConstructSize(avctx->width, avctx->height);
107 int deblocking_filter = (avctx->flags & AV_CODEC_FLAG_LOOP_FILTER) ? 1 : 0;
109 if (avctx->framerate.num > 0 && avctx->framerate.den > 0) {
110 framerate = AMFConstructRate(avctx->framerate.num, avctx->framerate.den);
112 framerate = AMFConstructRate(avctx->time_base.den, avctx->time_base.num * avctx->ticks_per_frame);
115 if ((ret = ff_amf_encode_init(avctx)) < 0)
125 switch (avctx->profile) {
139 profile_level = avctx->level;
148 if (avctx->refs != -1) {
149 AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_MAX_NUM_REFRAMES, avctx->refs);
152 if (avctx->sample_aspect_ratio.den && avctx->sample_aspect_ratio.num) {
153 AMFRatio ratio = AMFConstructRatio(avctx->sample_aspect_ratio.num, avctx->sample_aspect_ratio.den);
159 AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_GOP_SIZE, avctx->gop_size);
160 if (avctx->slices > 1) {
161 AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_SLICES_PER_FRAME, avctx->slices);
174 } else if (avctx->rc_max_rate > 0) {
185 if (avctx->rc_buffer_size) {
186 AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_VBV_BUFFER_SIZE, avctx->rc_buffer_size);
188 if (avctx->rc_initial_buffer_occupancy != 0) {
189 int amf_buffer_fullness = avctx->rc_initial_buffer_occupancy * 64 / avctx->rc_buffer_size;
214 AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_TARGET_BITRATE, avctx->bit_rate);
217 AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_PEAK_BITRATE, avctx->bit_rate);
219 if (avctx->rc_max_rate) {
220 AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_PEAK_BITRATE, avctx->rc_max_rate);
226 res = ctx->encoder->pVtbl->Init(ctx->encoder, ctx->format, avctx->width, avctx->height);
234 } else if (avctx->qmin != -1) {
235 int qval = avctx->qmin > 51 ? 51 : avctx->qmin;
240 } else if (avctx->qmax != -1) {
241 int qval = avctx->qmax > 51 ? 51 : avctx->qmax;
246 } else if (avctx->qmin != -1) {
247 int qval = avctx->qmin > 51 ? 51 : avctx->qmin;
252 } else if (avctx->qmax != -1) {
253 int qval = avctx->qmax > 51 ? 51 : avctx->qmax;
282 avctx->extradata_size = (int)buffer->pVtbl->GetSize(buffer);
283 avctx->extradata = av_mallocz(avctx->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
284 if (!avctx->extradata) {
289 memcpy(avctx->extradata, buffer->pVtbl->GetNative(buffer), avctx->extradata_size);