summaryrefslogtreecommitdiffstats
path: root/libhb/common.c
diff options
context:
space:
mode:
authorDamiano Galassi <[email protected]>2021-02-28 11:41:03 +0100
committerDamiano Galassi <[email protected]>2021-02-28 11:41:03 +0100
commit7e097b44def027e95ff4b2c2653fcf0cdc0fc0cf (patch)
tree25fd261f2db898ece66ce5f6f26ac360da4ab676 /libhb/common.c
parentff55c0c1bfd1436305ea06c07e1f674c83bddb2e (diff)
libhb: add videotoolbox 10bit hevc encoder.
Diffstat (limited to 'libhb/common.c')
-rw-r--r--libhb/common.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libhb/common.c b/libhb/common.c
index 6f34d411b..ecfbf96d0 100644
--- a/libhb/common.c
+++ b/libhb/common.c
@@ -278,6 +278,7 @@ hb_encoder_internal_t hb_video_encoders[] =
{ { "H.265 (NVEnc)", "nvenc_h265", "H.265 (NVEnc)", HB_VCODEC_FFMPEG_NVENC_H265, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, 1, HB_GID_VCODEC_H265_NVENC, },
{ { "H.265 (MediaFoundation)","mf_h265", "H.265 (MediaFoundation)", HB_VCODEC_FFMPEG_MF_H265, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, 1, HB_GID_VCODEC_H265_MF, },
{ { "H.265 (VideoToolbox)","vt_h265", "H.265 (libavcodec)", HB_VCODEC_FFMPEG_VT_H265, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, 1, HB_GID_VCODEC_H265_VT, },
+ { { "H.265 10-bit (VideoToolbox)","vt_h265_10bit", "H.265 (libavcodec)", HB_VCODEC_FFMPEG_VT_H265_10BIT, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, 1, HB_GID_VCODEC_H265_VT, },
{ { "MPEG-4", "mpeg4", "MPEG-4 (libavcodec)", HB_VCODEC_FFMPEG_MPEG4, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, 1, HB_GID_VCODEC_MPEG4, },
{ { "MPEG-2", "mpeg2", "MPEG-2 (libavcodec)", HB_VCODEC_FFMPEG_MPEG2, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, 1, HB_GID_VCODEC_MPEG2, },
{ { "VP8", "VP8", "VP8 (libvpx)", HB_VCODEC_FFMPEG_VP8, HB_MUX_MASK_WEBM|HB_MUX_MASK_MKV, }, NULL, 0, 1, HB_GID_VCODEC_VP8, },
@@ -317,6 +318,8 @@ static int hb_video_encoder_is_enabled(int encoder, int disable_hardware)
return hb_vt_h264_is_available();
case HB_VCODEC_FFMPEG_VT_H265:
return hb_vt_h265_is_available();
+ case HB_VCODEC_FFMPEG_VT_H265_10BIT:
+ return hb_vt_h265_10bit_is_available();
#endif
#if HB_PROJECT_FEATURE_MF
@@ -1418,6 +1421,7 @@ void hb_video_quality_get_limits(uint32_t codec, float *low, float *high,
case HB_VCODEC_FFMPEG_VT_H264:
case HB_VCODEC_FFMPEG_VT_H265:
+ case HB_VCODEC_FFMPEG_VT_H265_10BIT:
*direction = 0;
*granularity = 1.;
*low = 0.;
@@ -1468,6 +1472,7 @@ const char* hb_video_quality_get_name(uint32_t codec)
case HB_VCODEC_FFMPEG_NVENC_H265:
case HB_VCODEC_FFMPEG_VT_H264:
case HB_VCODEC_FFMPEG_VT_H265:
+ case HB_VCODEC_FFMPEG_VT_H265_10BIT:
return "CQ";
case HB_VCODEC_FFMPEG_MF_H264:
@@ -1487,6 +1492,7 @@ int hb_video_quality_is_supported(uint32_t codec)
case HB_VCODEC_FFMPEG_VT_H264:
return hb_vt_h264_is_constant_quality_available();
case HB_VCODEC_FFMPEG_VT_H265:
+ case HB_VCODEC_FFMPEG_VT_H265_10BIT:
return hb_vt_h265_is_constant_quality_available();
#endif
@@ -1615,6 +1621,7 @@ const char* const* hb_video_encoder_get_profiles(int encoder)
case HB_VCODEC_FFMPEG_NVENC_H265:
case HB_VCODEC_FFMPEG_VT_H264:
case HB_VCODEC_FFMPEG_VT_H265:
+ case HB_VCODEC_FFMPEG_VT_H265_10BIT:
case HB_VCODEC_FFMPEG_MF_H264:
case HB_VCODEC_FFMPEG_MF_H265:
return hb_av_profile_get_names(encoder);
@@ -1657,6 +1664,7 @@ const char* const* hb_video_encoder_get_levels(int encoder)
#ifdef __APPLE__
case HB_VCODEC_FFMPEG_VT_H265:
+ case HB_VCODEC_FFMPEG_VT_H265_10BIT:
return hb_vt_h265_level_names;
#endif