Support openh264 codec on MacOS

This commit is contained in:
dijunkun
2023-12-01 16:53:21 +08:00
parent 3eef1f8d84
commit f99a9bea13
5 changed files with 308 additions and 199 deletions

View File

@@ -2,6 +2,7 @@
#if __APPLE__
#include "ffmpeg/ffmpeg_video_decoder.h"
#include "openh264/openh264_decoder.h"
#else
#include "ffmpeg/ffmpeg_video_decoder.h"
#include "nvcodec/nvidia_video_decoder.h"
@@ -17,6 +18,7 @@ VideoDecoderFactory::~VideoDecoderFactory() {}
std::unique_ptr<VideoDecoder> VideoDecoderFactory::CreateVideoDecoder(
bool hardware_acceleration) {
#if __APPLE__
// return std::make_unique<OpenH264Decoder>(OpenH264Decoder());
return std::make_unique<FfmpegVideoDecoder>(FfmpegVideoDecoder());
#else
if (hardware_acceleration) {

View File

@@ -2,6 +2,7 @@
#if __APPLE__
#include "ffmpeg/ffmpeg_video_encoder.h"
#include "openh264/openh264_encoder.h"
#else
#include "ffmpeg/ffmpeg_video_encoder.h"
#include "nvcodec/nvidia_video_encoder.h"
@@ -17,7 +18,8 @@ VideoEncoderFactory::~VideoEncoderFactory() {}
std::unique_ptr<VideoEncoder> VideoEncoderFactory::CreateVideoEncoder(
bool hardware_acceleration) {
#if __APPLE__
return std::make_unique<FFmpegVideoEncoder>(FFmpegVideoEncoder());
// return std::make_unique<FFmpegVideoEncoder>(FFmpegVideoEncoder());
return std::make_unique<OpenH264Encoder>(OpenH264Encoder());
#else
if (hardware_acceleration) {
if (CheckIsHardwareAccerlerationSupported()) {