<p>Nvdec and qsv do not have support for 10 bit AVC. And if there was a more “efficient” software decoder available, it would already be in ffmpeg. </p>

CC BY-SA 4.0
2019-12-18T17:04:10.720Z
2019-12-18T17:04:10.720Z
SlimSCSI
<p>On my Intel 4770k (bought back in 2014) I can only decode GH5S's 4k 10-bit video at about 30fps with CPU maxing out. This is both when manually using ffmpeg and when using Handbrake. ffmpeg, Handbrake and Vegas 13 are all taking almost realtime to just decode </p>

<p>The system also has NVidia's GTX 1070Ti in it.</p>

<p>I was unable to use Intel's QuickSync (<code>-hwaccel qsv -c:v h264_qsv</code> before the <code>-i</code> argument in ffmpeg) or NVidia's NVDEC (<code>-hwaccel nvdec</code>) to decode the 10-bit h264.</p>

<p>Is there any software solution that can convert the video into something more efficiently usable? Whether 8-bit h264, or 10-bit HEVC, or some other intermediary format that can actually be hardware-decoded by Intel QuickSync or NVENC. Did I overlook any hardware solution? GPU upgrade? CPU upgrade?</p>

<p>I really would prefer not to go back to the good old days of files being decodable at merely realtime.</p>

CC BY-SA 4.0
2019-12-18T06:32:15.120Z
`-hwaccel qsv -v:c h264_qsv` --> this should be `-c:v h264_qsv`, similar for nvdec. In any case, here, on a i5-3470, ffmpeg decodes 10-bit 4K 30 fps H264 @ 3.7x, suggesting your bottleneck is not CPU or s/w decoder. (Handbrake uses ffmpeg for media processing). Maybe available RAM or its speed?
Gyan
CC BY-SA 4.0
2019-12-18T19:18:22.297Z
@Gyan sure, typo fixed, thanks. I don't have the `h264_nvdec` on my build of ffmpeg, but if I remember correctly, `-hwaccel nvdec` was enough on my machine when feeding it 8-bit input (and [that's how it was documented, too](https://trac.ffmpeg.org/wiki/HWAccelIntro)).
Ivan Vučica
CC BY-SA 4.0
2019-12-18T19:20:41.823Z
@Gyan Also: I wasn't use if Handbrake used ffmpeg or libav, so I didn't specify anything. Either way, for software decoding with ffmpeg, 4770k _is_ the bottleneck (90%+ use) based on what Windows Task Manager says. I'll admit that RAM could be the bottleneck when `nvdec` kicks in on 8-bit; Windows Task Manager claims that 'video decoding' on the GPU is at mere 40-50%.
Ivan Vučica
<ffmpeg><decoding>
Efficient decoding of 10-bit 4k h264 from GH5S?
Ivan Vučica
# Efficient decoding of 10-bit 4k h264 from GH5S?

(Asked by: username_0 on 2019-12-18)

On my Intel 4770k (bought back in 2014) I can only decode GH5S's 4k 10-bit video at about 30fps with CPU maxing out. This is both when manually using ffmpeg and when using Handbrake. ffmpeg, Handbrake and Vegas 13 are all taking almost realtime to just decode

The system also has NVidia's GTX 1070Ti in it.

I was unable to use Intel's QuickSync (`-hwaccel qsv -c:v h264_qsv` before the `-i` argument in ffmpeg) or NVidia's NVDEC (`-hwaccel nvdec`) to decode the 10-bit h264.

Is there any software solution that can convert the video into something more efficiently usable? Whether 8-bit h264, or 10-bit HEVC, or some other intermediary format that can actually be hardware-decoded by Intel QuickSync or NVENC. Did I overlook any hardware solution? GPU upgrade? CPU upgrade?

I really would prefer not to go back to the good old days of files being decodable at merely realtime.

**Tags:** ffmpeg, decoding

> **Comments:**
> **username_1**: `-hwaccel qsv -v:c h264_qsv` --> this should be `-c:v h264_qsv`, similar for nvdec. In any case, here, on a i5-3470, ffmpeg decodes 10-bit 4K 30 fps H264 @ 3.7x, suggesting your bottleneck is not CPU or s/w decoder. (Handbrake uses ffmpeg for media processing). Maybe available RAM or its speed?  
> **username_0**: @username_1 sure, typo fixed, thanks. I don't have the `h264_nvdec` on my build of ffmpeg, but if I remember correctly, `-hwaccel nvdec` was enough on my machine when feeding it 8-bit input (and [that's how it was documented, too](https://trac.ffmpeg.org/wiki/HWAccelIntro)).  
> **username_0**: @username_1 Also: I wasn't use if Handbrake used ffmpeg or libav, so I didn't specify anything. Either way, for software decoding with ffmpeg, 4770k _is_ the bottleneck (90%+ use) based on what Windows Task Manager says. I'll admit that RAM could be the bottleneck when `nvdec` kicks in on 8-bit; Windows Task Manager claims that 'video decoding' on the GPU is at mere 40-50%.  

---

## 1 answers

### Answer by username_2 on 2019-12-18. Score: 1 | Accepted answer

Nvdec and qsv do not have support for 10 bit AVC. And if there was a more “efficient” software decoder available, it would already be in ffmpeg.


---

