AV_PIX_FMT_NONE
};
-const AVCodecHWConfigInternal *ff_nvenc_hw_configs[] = {
+const AVCodecHWConfigInternal *const ff_nvenc_hw_configs[] = {
HW_CONFIG_ENCODER_FRAMES(CUDA, CUDA),
HW_CONFIG_ENCODER_DEVICE(NONE, CUDA),
#if CONFIG_D3D11VA
if (ctx->flags & NVENC_ONE_PASS)
ctx->encode_config.rcParams.multiPass = NV_ENC_MULTI_PASS_DISABLED;
- if (ctx->flags & NVENC_TWO_PASSES || ctx->twopass)
+ if (ctx->flags & NVENC_TWO_PASSES || ctx->twopass > 0)
ctx->encode_config.rcParams.multiPass = NV_ENC_TWO_PASS_FULL_RESOLUTION;
if (ctx->rc < 0) {
ctx->rc = NV_ENC_PARAMS_RC_CBR;
} else if (ctx->cqp >= 0) {
ctx->rc = NV_ENC_PARAMS_RC_CONSTQP;
- } else {
+ } else if (ctx->quality >= 0.0f) {
ctx->rc = NV_ENC_PARAMS_RC_VBR;
}
}
ctx->init_encode_params.tuningInfo,
&preset_config);
#else
- // Turn off tuning info parameter if older presets are on
- ctx->init_encode_params.tuningInfo = 0;
-
nv_status = p_nvenc->nvEncGetEncodePresetConfig(ctx->nvencoder,
ctx->init_encode_params.encodeGUID,
ctx->init_encode_params.presetGUID,
pkt->pts = params->outputTimeStamp;
pkt->dts = timestamp_queue_dequeue(ctx->timestamp_list);
- pkt->dts -= FFMAX(avctx->max_b_frames, 0) * FFMIN(avctx->ticks_per_frame, 1);
+ pkt->dts -= FFMAX(avctx->max_b_frames, 0) * FFMAX(avctx->ticks_per_frame, 1);
return 0;
}
if (tc_data) {
sei_data[sei_count].payloadSize = (uint32_t)tc_size;
- sei_data[sei_count].payloadType = HEVC_SEI_TYPE_TIME_CODE;
+ sei_data[sei_count].payloadType = SEI_TYPE_TIME_CODE;
sei_data[sei_count].payload = (uint8_t*)tc_data;
sei_count ++;
}