From 19f5fa37f2c915be6ad4bb96323802d3c508f04b Mon Sep 17 00:00:00 2001 From: eisneinechse <42617957+eisneinechse@users.noreply.github.com> Date: Thu, 18 Apr 2019 16:41:11 -0700 Subject: [PATCH] Replace qsv with videotoolbox for MacOS codec library. Windows and MacOS is not tested! We need users who test it. --- src/FFmpegReader.cpp | 12 ++++++------ src/FFmpegWriter.cpp | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/FFmpegReader.cpp b/src/FFmpegReader.cpp index 3af851e1..2ea6fcbb 100644 --- a/src/FFmpegReader.cpp +++ b/src/FFmpegReader.cpp @@ -248,9 +248,9 @@ static enum AVPixelFormat get_hw_dec_format_qs(AVCodecContext *ctx, const enum A for (p = pix_fmts; *p != AV_PIX_FMT_NONE; p++) { switch (*p) { - case AV_PIX_FMT_QSV: - hw_de_av_pix_fmt_global = AV_PIX_FMT_QSV; - hw_de_av_device_type_global = AV_HWDEVICE_TYPE_QSV; + case AV_PIX_FMT_VIDEOTOOLBOX: + hw_de_av_pix_fmt_global = AV_PIX_FMT_VIDEOTOOLBOX; + hw_de_av_device_type_global = AV_HWDEVICE_TYPE_VIDEOTOOLBOX; return *p; break; } @@ -413,15 +413,15 @@ void FFmpegReader::Open() { i_decoder_hw = openshot::Settings::Instance()->HARDWARE_DECODER; switch (i_decoder_hw) { case 0: - hw_de_av_device_type = AV_HWDEVICE_TYPE_QSV; + hw_de_av_device_type = AV_HWDEVICE_TYPE_VIDEOTOOLBOX; pCodecCtx->get_format = get_hw_dec_format_qs; break; case 5: - hw_de_av_device_type = AV_HWDEVICE_TYPE_QSV; + hw_de_av_device_type = AV_HWDEVICE_TYPE_VIDEOTOOLBOX; pCodecCtx->get_format = get_hw_dec_format_qs; break; default: - hw_de_av_device_type = AV_HWDEVICE_TYPE_QSV; + hw_de_av_device_type = AV_HWDEVICE_TYPE_VIDEOTOOLBOX; pCodecCtx->get_format = get_hw_dec_format_qs; break; } diff --git a/src/FFmpegWriter.cpp b/src/FFmpegWriter.cpp index e12ff094..072ac6d7 100644 --- a/src/FFmpegWriter.cpp +++ b/src/FFmpegWriter.cpp @@ -211,12 +211,12 @@ void FFmpegWriter::SetVideoOptions(bool has_video, string codec, Fraction fps, i } } #elif defined(__APPLE__) - if ( (strcmp(codec.c_str(),"h264_qsv") == 0)) { + if ( (strcmp(codec.c_str(),"h264_videotoolbox") == 0)) { new_codec = avcodec_find_encoder_by_name(codec.c_str()); hw_en_on = 1; hw_en_supported = 1; - hw_en_av_pix_fmt = AV_PIX_FMT_QSV; - hw_en_av_device_type = AV_HWDEVICE_TYPE_QSV; + hw_en_av_pix_fmt = AV_PIX_FMT_VIDEOTOOLBOX; + hw_en_av_device_type = AV_HWDEVICE_TYPE_VIDEOTOOLBOX; } else { new_codec = avcodec_find_encoder_by_name(codec.c_str());