Lines Matching defs:frame
511 av_log(avctx, AV_LOG_WARNING, "Each B frame as reference is not supported\n");
924 "Defined b-frame requires more surfaces, "
1707 av_frame_free(&ctx->frame);
1756 "hw_frames_ctx must match the GPU frame type\n");
1764 ctx->frame = av_frame_alloc();
1765 if (!ctx->frame)
1800 NV_ENC_LOCK_INPUT_BUFFER *lock_buffer_params, const AVFrame *frame)
1811 if (frame->format == AV_PIX_FMT_YUV420P)
1814 ret = av_image_fill_pointers(dst_data, frame->format, nv_surface->height,
1819 if (frame->format == AV_PIX_FMT_YUV420P)
1823 (const uint8_t**)frame->data, frame->linesize, frame->format,
1863 static int nvenc_register_frame(AVCodecContext *avctx, const AVFrame *frame)
1869 AVHWFramesContext *frames_ctx = (AVHWFramesContext*)frame->hw_frames_ctx->data;
1874 if (avctx->pix_fmt == AV_PIX_FMT_CUDA && ctx->registered_frames[i].ptr == frame->data[0])
1876 else if (avctx->pix_fmt == AV_PIX_FMT_D3D11 && ctx->registered_frames[i].ptr == frame->data[0] && ctx->registered_frames[i].ptr_index == (intptr_t)frame->data[1])
1887 reg.pitch = frame->linesize[0];
1888 reg.resourceToRegister = frame->data[0];
1895 reg.subResourceIndex = (intptr_t)frame->data[1];
1911 ctx->registered_frames[idx].ptr = frame->data[0];
1917 static int nvenc_upload_frame(AVCodecContext *avctx, const AVFrame *frame,
1928 int reg_idx = nvenc_register_frame(avctx, frame);
1930 av_log(avctx, AV_LOG_ERROR, "Could not register an input HW frame\n");
1934 res = av_frame_ref(nvenc_frame->in_ref, frame);
1953 nvenc_frame->pitch = frame->linesize[0];
1968 res = nvenc_copy_frame(avctx, nvenc_frame, &lockBufferParams, frame);
2173 static int prepare_sei_data_array(AVCodecContext *avctx, const AVFrame *frame)
2179 if (ctx->a53_cc && av_frame_get_side_data(frame, AV_FRAME_DATA_A53_CC)) {
2183 if (ff_alloc_a53_sei(frame, 0, &a53_data, &a53_size) < 0) {
2205 if (ctx->s12m_tc && av_frame_get_side_data(frame, AV_FRAME_DATA_S12M_TIMECODE)) {
2209 if (ff_alloc_timecode_sei(frame, avctx->framerate, 0, &tc_data, &tc_size) < 0) {
2234 for (i = 0; i < frame->nb_side_data; i++) {
2235 AVFrameSideData *side_data = frame->side_data[i];
2271 static void reconfig_encoder(AVCodecContext *avctx, const AVFrame *frame)
2363 static int nvenc_send_frame(AVCodecContext *avctx, const AVFrame *frame)
2381 if (frame && frame->buf[0]) {
2390 reconfig_encoder(avctx, frame);
2392 res = nvenc_upload_frame(avctx, frame, in_surf);
2409 if (frame->top_field_first)
2417 if (ctx->forced_idr >= 0 && frame->pict_type == AV_PICTURE_TYPE_I) {
2424 pic_params.inputTimeStamp = frame->pts;
2427 res = prepare_sei_data_array(avctx, frame);
2455 if (frame && frame->buf[0]) {
2457 timestamp_queue_enqueue(ctx->timestamp_list, frame->pts);
2476 AVFrame *frame = ctx->frame;
2481 if (!frame->buf[0]) {
2482 res = ff_encode_get_frame(avctx, frame);
2487 res = nvenc_send_frame(avctx, frame);
2492 av_frame_unref(frame);