diff --git a/src/media/media_encoder.cpp b/src/media/media_encoder.cpp
index a9f69a7b13f8b4d1c433ec44efbbb3ab50eea9cf..1f872708d4c044778571956ce4ad645dd54852f9 100644
--- a/src/media/media_encoder.cpp
+++ b/src/media/media_encoder.cpp
@@ -427,9 +427,12 @@ MediaEncoder::encode(VideoFrame& input, bool is_keyframe, int64_t frame_number)
     } else if (isHardware) {
         // Hardware decoded frame, transfer back to main memory
         // Transfer to GPU if we have a hardware encoder
-        AVPixelFormat pix = (accel_ ? accel_->getSoftwareFormat() : AV_PIX_FMT_YUV420P);
+        // Hardware decoders decode to NV12, but Jami's supported software encoders want YUV420P
+        AVPixelFormat pix = (accel_ ? accel_->getSoftwareFormat() : AV_PIX_FMT_NV12);
         framePtr = video::HardwareAccel::transferToMainMemory(input, pix);
-        if (accel_)
+        if (!accel_)
+            framePtr = scaler_.convertFormat(*framePtr, AV_PIX_FMT_YUV420P);
+        else
             framePtr = accel_->transfer(*framePtr);
         frame = framePtr->pointer();
     } else if (accel_) {
diff --git a/src/media/video/accel.cpp b/src/media/video/accel.cpp
index 9cc952610265cab4d022b7bb7b3350f794f7144e..8b015d18b90b277786435dce521db4a3d992f6d2 100644
--- a/src/media/video/accel.cpp
+++ b/src/media/video/accel.cpp
@@ -261,8 +261,7 @@ std::unique_ptr<HardwareAccel>
 HardwareAccel::setupDecoder(AVCodecID id, int width, int height)
 {
     static const HardwareAPI apiList[] = {
-        // TODO Find out why nvdec decoding doesn't quite work
-        //{ "nvdec", AV_PIX_FMT_CUDA, AV_PIX_FMT_NV12, { AV_CODEC_ID_H264, AV_CODEC_ID_H265, AV_CODEC_ID_VP8, AV_CODEC_ID_MJPEG } },
+        { "nvdec", AV_PIX_FMT_CUDA, AV_PIX_FMT_NV12, { AV_CODEC_ID_H264, AV_CODEC_ID_H265, AV_CODEC_ID_VP8, AV_CODEC_ID_MJPEG } },
         { "vaapi", AV_PIX_FMT_VAAPI, AV_PIX_FMT_NV12, { AV_CODEC_ID_H264, AV_CODEC_ID_MPEG4, AV_CODEC_ID_VP8, AV_CODEC_ID_MJPEG } },
         { "vdpau", AV_PIX_FMT_VDPAU, AV_PIX_FMT_NV12, { AV_CODEC_ID_H264, AV_CODEC_ID_MPEG4 } },
         { "videotoolbox", AV_PIX_FMT_VIDEOTOOLBOX, AV_PIX_FMT_NV12, { AV_CODEC_ID_H264, AV_CODEC_ID_MPEG4 } },