Seungha Yang
a512f5b6cd
nvenc: Respect display aspect ratio and set to encoding parameter
...
It should be written in VUI parameter for proper rendering
2019-05-09 15:42:19 +09:00
Seungha Yang
cae6b7112d
nvh264enc: Fix broken Y444 format encoding with system memory Y444 support
...
separateColourPlaneFlag is mapped to separate_colour_plane_flag which
means Y, U and V planes are separately processed as monochrome sampled pictures.
So encoder shouldn't set that flag for normal 4:4:4 encoding.
Also for 4:4:4 encoding, NV_ENC_H264_PROFILE_HIGH_444_GUID profile must be
explicitly set.
2019-05-06 17:30:32 +09:00
Seungha Yang
aaee282051
nvenc: Don't leak CUDA device memory
...
Allocated device memory should be freed with cuMemFree
2019-03-26 11:54:16 +00:00
Seungha Yang
d0f2f262aa
nvenc: Ensure unmap resources before finalizing them
...
Mapped resource via NvEncMapInputResource() will result to unregister fail.
It can happen when paused to ready state change without EOS event.
2019-03-26 11:54:16 +00:00
Seungha Yang
60983fcea9
nvenc: Don't release stream lock on GstVideoEncoder::stop()
...
baseclass didn't take the stream lock during stop. It's valid only for
GstVideoEncoder::finish()
Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/912
2019-03-25 22:26:35 +09:00
Seungha Yang
01a402e4ec
nvenc: More clean up on stop for encoder to be reusable
...
Encoder will not configure internal pool again if input_state exist
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/912
2019-03-10 13:58:42 +09:00
Seungha Yang
74848770a5
nvenc: Ensure drain all frames on finish
...
To drain all queued encoding items, encoder should gracefully
wait the encoding thread without stealing queued items.
Otherwise, some input frames can be dropped.
2019-03-10 13:58:42 +09:00
Yeongjin Jeong
8e860fffd9
nvenc: Fix GValue leaks
...
GValue should be freed with g_value_unset()
2019-03-09 15:17:30 +00:00
Seungha Yang
c75907d23c
nvenc: Fix undefined reference build error on MSVC and CUDA 9.1
2018-11-25 23:31:37 +00:00
Seungha Yang
5f95094f39
nvencbase: Define sinkpad template in subclass
...
https://bugzilla.gnome.org/show_bug.cgi?id=795037
2018-04-25 01:59:30 +10:00
Seungha Yang
6242dae832
nvenc: Add debug catagory for nvh264enc
...
https://bugzilla.gnome.org/show_bug.cgi?id=795037
2018-04-25 01:59:30 +10:00
Daeseok Youn
faa892fb48
nvbaseenc: fix build warnings with HAVE_NVENC_GST_GL
...
fix following error:
gstnvbaseenc.c: In function ‘gst_nv_base_enc_set_context’:
gstnvbaseenc.c:451:17: error: unused variable ‘nvenc’ [-Werror=unused-variable]
GstNvBaseEnc *nvenc = GST_NV_BASE_ENC (element);
^
https://bugzilla.gnome.org/show_bug.cgi?id=794896
2018-04-02 19:42:15 +01:00
Tim-Philipp Müller
07c8417799
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
2018-01-24 10:39:40 +00:00
Tim-Philipp Müller
bea0ea66be
nvenc: mark properties that can be changed at runtime accordingly
...
https://bugzilla.gnome.org/show_bug.cgi?id=781410
2018-01-24 10:21:48 +00:00
Ole André Vadla Ravnås
59365e3d7b
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
2018-01-24 10:17:58 +00:00
Ole André Vadla Ravnås
bc92b10164
nvenc: Add support for I420
...
https://bugzilla.gnome.org/show_bug.cgi?id=781410
2018-01-24 09:30:49 +00:00
Ponnam Srinivas
53ea2f82ae
nvbaseenc: Fix Memory leak in error case
...
https://bugzilla.gnome.org/show_bug.cgi?id=788243
2017-10-13 18:43:01 +03:00
Ole André Vadla Ravnås
cb28314013
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
2017-04-19 11:51:57 +01:00
Ole André Vadla Ravnås
70ac63a97c
nvenc: Update to the current gstreamer-gl API
...
https://bugzilla.gnome.org/show_bug.cgi?id=781410
2017-04-19 11:51:55 +01:00
Matthew Waters
dc1a326090
nvenc: add some rate control modes/properties
...
Supported modes are constant quantizer, cbr, vbr and vbr with a minimum quantizer.
2016-04-08 15:24:20 +10:00
Matthew Waters
065f4dceb1
nvenc: move codec config initialization from the implementation to the base class
...
Supports a better separation of configuration parameters
2016-04-08 15:08:18 +10:00
Matthew Waters
c45fc2ef53
nvenc: add preset selection
...
Some presets are not always supported on all devices and will cause an error if
used. Specifically, the LOSSLESS presets are known to not work everywhere.
2016-04-08 15:08:18 +10:00
Matthew Waters
d6f7ea88bb
nvenc: add support for building against version 6 of the SDK
...
While mostly API compatible, the ABI has changed so binaries will not work
across header versions (and ultimately nvidia driver releases).
https://bugzilla.gnome.org/show_bug.cgi?id=763324
2016-03-31 17:26:47 +11:00
Vineeth TM
8cdfb13658
bad: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763081
2016-03-24 14:56:51 +02:00
Matthew Waters
b48049a171
nvenc: release the frames and list when searching for an output buffer
...
Fixes a massive leak in:
videotestsrc ! nvh264enc ! fakesink
2016-02-25 00:07:14 +11:00
Matthew Waters
ffba31b7b2
nvenc: update for recent GL api changes
...
Specifically the GstGLMemoryPBO addition (which was the unadorned GstGLMemory).
2016-01-12 23:36:54 +11:00
Matthew Marsh
0e34c02dd6
nvenc: fix high CPU use on initialization of multiple encoders at the same time
...
We need a static lock to protect various NVENC methods in _set_format(). Without
this the CPU use increases dramatically on initialisation of the element when
there are multiple elements being initialised at the same time.
https://bugzilla.gnome.org/show_bug.cgi?id=759742
2015-12-22 13:27:51 +00:00
Matthew Waters
63a7cbf8f1
nvenc: call the parent class on GstElement::set_context
2015-09-29 16:17:22 +10:00
Matthew Waters
b1d13e10af
Add Nvidia based hardware encoder element
...
Currently only h264 is supported
https://bugzilla.gnome.org/show_bug.cgi?id=753405
2015-09-29 15:32:17 +10:00