summaryrefslogtreecommitdiffstats
path: root/libhb/work.c
diff options
context:
space:
mode:
authorScott <[email protected]>2018-06-29 19:48:26 +0100
committerGitHub <[email protected]>2018-06-29 19:48:26 +0100
commitdbf898635dc12608b78c33916137465ce08937bf (patch)
tree2449891c1f1275e43673b9aa276b8e8905374b55 /libhb/work.c
parentac390b630498163ff37bea491202c0872bb679ec (diff)
Add NVEnc encoder. (Round 3) (#1437)
Adding the Nvidia NVEnc H.264 and H.265 encoders. Based on Initial work by sgothel --enable-nvenc is the new compile time configure option to enable for builds.
Diffstat (limited to 'libhb/work.c')
-rw-r--r--libhb/work.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libhb/work.c b/libhb/work.c
index 1400fee1f..22825840a 100644
--- a/libhb/work.c
+++ b/libhb/work.c
@@ -253,6 +253,17 @@ hb_work_object_t* hb_video_encoder(hb_handle_t *h, int vcodec)
w->codec_param = AV_CODEC_ID_HEVC;
break;
#endif
+#ifdef USE_NVENC
+ case HB_VCODEC_FFMPEG_NVENC_H264:
+ w = hb_get_work(h, WORK_ENCAVCODEC);
+ w->codec_param = AV_CODEC_ID_H264;
+ break;
+ case HB_VCODEC_FFMPEG_NVENC_H265:
+ w = hb_get_work(h, WORK_ENCAVCODEC);
+ w->codec_param = AV_CODEC_ID_HEVC;
+ break;
+#endif
+
default:
hb_error("Unknown video codec (0x%x)", vcodec );
}
@@ -486,6 +497,8 @@ void hb_display_job_info(hb_job_t *job)
case HB_VCODEC_QSV_H265_10BIT:
case HB_VCODEC_FFMPEG_VCE_H264:
case HB_VCODEC_FFMPEG_VCE_H265:
+ case HB_VCODEC_FFMPEG_NVENC_H264:
+ case HB_VCODEC_FFMPEG_NVENC_H265:
hb_log(" + profile: %s", job->encoder_profile);
default:
break;
@@ -502,6 +515,8 @@ void hb_display_job_info(hb_job_t *job)
case HB_VCODEC_QSV_H265_10BIT:
case HB_VCODEC_FFMPEG_VCE_H264:
case HB_VCODEC_FFMPEG_VCE_H265:
+ case HB_VCODEC_FFMPEG_NVENC_H264:
+ case HB_VCODEC_FFMPEG_NVENC_H265:
hb_log(" + level: %s", job->encoder_level);
default:
break;