After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 781410 - nvenc: Various improvements
nvenc: Various improvements
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal enhancement
: 1.13.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-04-17 15:57 UTC by Ole André Vadla Ravnås
Modified: 2018-01-24 10:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add support for the Cuda 8.0 SDK (1.23 KB, patch)
2017-04-17 15:58 UTC, Ole André Vadla Ravnås
committed Details | Review
nvenc: Update to the current gstreamer-gl API (980 bytes, patch)
2017-04-17 15:58 UTC, Ole André Vadla Ravnås
committed Details | Review
nvenc: Add support for I420 (3.81 KB, patch)
2017-04-17 15:59 UTC, Ole André Vadla Ravnås
committed Details | Review
nvenc: Add support for dynamic reconfiguration (3.12 KB, patch)
2017-04-17 15:59 UTC, Ole André Vadla Ravnås
committed Details | Review
nvenc: add gop-size property (3.99 KB, patch)
2017-04-17 16:05 UTC, Tim-Philipp Müller
committed Details | Review
nvenc: Stop bitstream thread in ::stop() (1.15 KB, patch)
2017-04-17 17:28 UTC, Ole André Vadla Ravnås
committed Details | Review

Description Ole André Vadla Ravnås 2017-04-17 15:57:54 UTC
Figured I'd post some patches here as it's been a few years since I last contributed to GStreamer, so I'm feeling a little rusty.
Comment 1 Ole André Vadla Ravnås 2017-04-17 15:58:27 UTC
Created attachment 349949 [details] [review]
Add support for the Cuda 8.0 SDK
Comment 2 Ole André Vadla Ravnås 2017-04-17 15:58:52 UTC
Created attachment 349950 [details] [review]
nvenc: Update to the current gstreamer-gl API
Comment 3 Ole André Vadla Ravnås 2017-04-17 15:59:27 UTC
Created attachment 349951 [details] [review]
nvenc: Add support for I420
Comment 4 Ole André Vadla Ravnås 2017-04-17 15:59:43 UTC
Created attachment 349952 [details] [review]
nvenc: Add support for dynamic reconfiguration
Comment 5 Tim-Philipp Müller 2017-04-17 16:05:08 UTC
Created attachment 349953 [details] [review]
nvenc: add gop-size property

While you're at it, I can add another pending patch of mine here too :)
Comment 6 Ole André Vadla Ravnås 2017-04-17 17:28:00 UTC
Created attachment 349956 [details] [review]
nvenc: Stop bitstream thread in ::stop()
Comment 7 Ole André Vadla Ravnås 2017-04-17 17:28:48 UTC
(In reply to Tim-Philipp Müller from comment #5)
> Created attachment 349953 [details] [review] [review]
> nvenc: add gop-size property
> 
> While you're at it, I can add another pending patch of mine here too :)

Awesome! :)
Comment 8 Benjamin 2017-04-19 03:57:05 UTC
Hey guys, 

This is great, GOP was much needed.

Question, any plans to add decoder support like NVDEC ?
Comment 9 Sebastian Dröge (slomo) 2017-04-19 08:33:56 UTC
(In reply to Benjamin from comment #8)
> Hey guys, 
> 
> This is great, GOP was much needed.
> 
> Question, any plans to add decoder support like NVDEC ?

Please file a separate bug for this. I'm not aware of any plans, and NVDEC is a completely different API unfortunately (and requires much deeper CUDA integration). But would be nice to have a plugin for that indeed.
Comment 10 Tim-Philipp Müller 2017-04-19 10:52:38 UTC
Comment on attachment 349949 [details] [review]
Add support for the Cuda 8.0 SDK

commit b721a47a50868e32e762cf34639b7ee8dc591fbf
Author: Ole André Vadla Ravnås <oleavr@gmail.com>
Date:   Fri Apr 14 13:57:19 2017 +0200

    nvenc: Add support for the Cuda 8.0 SDK
    
    https://bugzilla.gnome.org/show_bug.cgi?id=781410
Comment 11 Tim-Philipp Müller 2017-04-19 10:52:59 UTC
Comment on attachment 349950 [details] [review]
nvenc: Update to the current gstreamer-gl API

commit 70ac63a97cdcd313796f9f12e367b5bd694ecdde
Author: Ole André Vadla Ravnås <oleavr@gmail.com>
Date:   Fri Apr 14 13:58:21 2017 +0200

    nvenc: Update to the current gstreamer-gl API
    
    https://bugzilla.gnome.org/show_bug.cgi?id=781410
Comment 12 Tim-Philipp Müller 2017-04-19 10:53:22 UTC
Comment on attachment 349956 [details] [review]
nvenc: Stop bitstream thread in ::stop()

commit cb28314013ba7bc495368f97e359c893b640c8c6
Author: Ole André Vadla Ravnås <oleavr@gmail.com>
Date:   Mon Apr 17 19:25:49 2017 +0200

    nvenc: Stop bitstream thread in ::stop()
    
    Otherwise we are likely to crash if EOS didn't happen yet.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=781410
Comment 13 Tim-Philipp Müller 2018-01-24 10:41:33 UTC
Comment on attachment 349951 [details] [review]
nvenc: Add support for I420

commit bc92b10164e6af68242a7645aa1bc18faf72d77a
Author: Ole André Vadla Ravnås <oleavr@gmail.com>
Date:   Fri Apr 14 15:30:44 2017 +0200

    nvenc: Add support for I420
    
    https://bugzilla.gnome.org/show_bug.cgi?id=781410
Comment 14 Tim-Philipp Müller 2018-01-24 10:41:59 UTC
Comment on attachment 349952 [details] [review]
nvenc: Add support for dynamic reconfiguration

commit 59365e3d7ba5c6c6c59724401e67e741bb63763c
Author: Ole André Vadla Ravnås <oleavr@gmail.com>
Date:   Mon Apr 17 13:58:53 2017 +0200

    nvenc: Add support for dynamic bitrate/preset reconfiguration
    
    Useful for dynamically updating bitrate in live scenarios.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=781410
Comment 15 Tim-Philipp Müller 2018-01-24 10:42:49 UTC
Comment on attachment 349953 [details] [review]
nvenc: add gop-size property

Pushed with minor changes (updated for runtime mutability):

commit 07c8417799940da697212246398ffd828f39b169 (HEAD -> master)
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sun Apr 16 16:08:27 2017 +0200

    nvenc: add "gop-size" property
    
    This also changes the default gop size from 30 to 75 frames.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=781410
Comment 16 Tim-Philipp Müller 2018-01-24 10:43:29 UTC
commit bea0ea66be3317728acaa5e501823faa17c06756
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Wed Jan 24 10:21:48 2018 +0000

    nvenc: mark properties that can be changed at runtime accordingly
    
    https://bugzilla.gnome.org/show_bug.cgi?id=781410