Opened 7 years ago

Closed 6 years ago

#13357 closed Developer Task (Fixed)

Add support for NVDEC (aka CUVID or CUDA) decoding using NVidia GPU through FFmpeg

Reported by: Peter Bennett Owned by: Peter Bennett
Priority: minor Milestone: 31.0
Component: MythTV - Video Playback Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

VDPAU does not support video that is bigger than 1920x1080. VDPAU is not being updated.

NVDEC is a new API for accessing the GPU of NVidia devices.

Attachments (1)

20181227_nvdec_decode_deint.patch (48.4 KB ) - added by Peter Bennett 7 years ago.
Add support for nvdec decode and deinterlace

Download all attachments as: .zip

Change History (15)

comment:1 by bjoernv, 7 years ago

Unfortunately H265/HEVC videos currently do not play with VDPAU playback profiles (tested with v30-Pre-1011-g7d6974a9b6, see https://pastebin.com/DYxWELE9). This worked with MythTV 29. A fix for VDPAU or NVDEC is very welcome.

comment:2 by Peter Bennett, 7 years ago

Milestone: unknown31.0

comment:3 by Peter Bennett, 7 years ago

Milestone: 31.030.1

by Peter Bennett, 7 years ago

Add support for nvdec decode and deinterlace

comment:4 by Peter Bennett, 7 years ago

Status: newaccepted

This patch adds the ability to decode and deinterlace using NVDEC with the NVidia GPU. At this level it is rather useless because the frames are still brought into main memory and then put back out to the GPU for display. With all the moving around of frames this is slower than using software decode. The next step is to add the direct transfer from decoder to OpenGL without going through system memory. I am looking at this but I may need some assistance from somebody who knows OpenGL.

With this patch it is not possible to change deinterlace methods on the fly, as deinterlace has to be set up before opening the decoder. Implementing change of deinterlace on the fly will require re-instantiating the decoder when changing deinterlace method.

comment:5 by Peter Bennett <pbennett@…>, 7 years ago

In 718351757/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:6 by Peter Bennett <pbennett@…>, 7 years ago

In dc34c5bb85/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:7 by Peter Bennett <pbennett@…>, 7 years ago

In 62d9915a3/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:8 by Peter Bennett <pbennett@…>, 7 years ago

In 8eb463798c/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:9 by Peter Bennett <pbennett@…>, 7 years ago

In 0aa23ccfdf/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:10 by Peter Bennett <pbennett@…>, 7 years ago

In ffdd5c4139/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:11 by Peter Bennett <pbennett@…>, 7 years ago

In f13a4feac/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:12 by Peter Bennett <pbennett@…>, 7 years ago

In 4d7ebfa901/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:13 by Peter Bennett <pbennett@…>, 7 years ago

In 136d40a968/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:14 by Peter Bennett, 6 years ago

Milestone: 30.131.0
Resolution: Fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.