He Junyan
c5fda68403
x265: Fix a deadlock when failing to create the x265enc.
...
The GST_ELEMENT_ERROR will call the gst_object_get_path_string and
use gst_object_get_parent to get the full object path name, which
needs to lock the object. But we are already in a locked context and
so this will cause a deadlock, the pipeline can not exit normally.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2451 >
2021-08-09 10:28:11 +00:00
Mathieu Duponchelle
08323f382c
x265enc: add negative DTS support
...
Use the same set_min_pts approach as x264enc.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/304
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2340 >
2021-06-21 10:31:21 +00:00
Stéphane Cerveau
42a8702919
x265: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038 >
2021-03-23 14:19:17 +00:00
Jakub Adam
6f2f15b5fb
x265enc: fix deadlock on reconfig
...
Don't attempt to obtain encoder lock that is already held by
gst_x265_enc_encode_frame().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1671 >
2020-10-09 06:39:36 +00:00
Sebastian Dröge
64039cdf84
gst: Update for gst_video_transfer_function_*() function renaming
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1557 >
2020-09-07 12:14:47 +03:00
Tim-Philipp Müller
8e93ae65e8
x265: ignore tune property when diffing generated docs
...
Unfortunately it means those tune enums don't show up in
the docs then, but if that's how it's gotta be..
(Problem at hand is that on Tim's machine x265enc gets an
tune=animation and on the CI machine this doesn't show up.)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354 >
2020-06-19 15:41:51 +01:00
Mathieu Duponchelle
a048ce81d4
plugins: uddate gst_type_mark_as_plugin_api() calls
2020-06-06 00:40:42 +02:00
Sebastian Dröge
74f2f733be
plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
2020-06-04 13:33:16 -04:00
Seungha Yang
770a851e03
x265enc: Update for video-hdr struct change
...
See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
2020-04-01 05:18:11 +00:00
Aaron Boxer
6d3429af34
documentation: fixed a heap o' typos
2019-11-05 09:11:25 -05:00
Tim-Philipp Müller
f218ec2794
Remove autotools build system
2019-10-14 13:54:27 +01:00
Seungha Yang
b49724fdb6
x265enc: Enhance profile setting with fixing infinite loop condition
...
Don't fixate profile caps which will choose the first profile from list.
Instead, store all profiles allowed by peer and try them until x265 can
accept one of them.
2019-08-09 06:36:06 +00:00
Seungha Yang
de6f296d00
x265enc: Fix deadlock on profile setting failure
...
Don't miss unlock before returning
2019-08-09 06:36:06 +00:00
Seungha Yang
85c0a1e85b
x265enc: Add support more 8/10/12 bits 4:2:0, 4:2:2 and 4:4:4 profiles
...
... with multi-library interface support. Depending on bit depth support of
the linked library, run-time api switch can be made via multi-library interface.
See more detail about libx265 multi-library interface
https://x265.readthedocs.io/en/default/api.html#multi-library-interface
2019-08-07 00:20:31 +03:00
Yeongjin Jeong
8f2c53f6f5
x265enc: Specify max CU size depending on input resolution
...
x265 does not allow user to configure a picture size smaller than
at least one CU size, and maxCUSize must be 16, 32, or 64.
Therefore, the CU size must be set according to the input resolution,
and the input resolution can not be less than 16.
2019-07-31 18:13:28 +09:00
Seungha Yang
d6680b35b4
x265enc: Specify colorimetry related VUI parameters
...
Set the colorimetry config for the information to be embedded in encodec bitstream.
2019-07-17 22:46:58 +09:00
Thibault Saunier
47a49f3381
docs: Build documentation with hotdoc
2019-05-13 17:00:00 -04:00
Seungha Yang
fbec447191
x265enc: Do not drop SEI nals from header
...
SEI message shouldn't be dropped since it contains various informal (or essential)
information.
2019-05-02 07:12:25 +00:00
Seungha Yang
538ae98ed2
x265enc: Add support mastering display info and content light level encoding
...
... if (x265 version >= 1.9) requirement is satisfied.
The SEI messages were supported since x265 version 1.8
but there was API change from version 1.9
(contentLightLevelInfo was renamed to maxCLL and maxFALL)
2019-05-02 07:12:25 +00:00
Nirbheek Chauhan
b55dfb5313
Add feature options for almost all plugins
...
The only plugins remaining are those that haven't been ported to Meson
yet, and msdk. Also, the tests are still automagic.
https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 19:04:38 +05:30
Xavier Claessens
83d0623293
Meson: Generate pc file for all plugins in bad
...
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:08:09 +01:00
Tim-Philipp Müller
ed84f17917
x265enc: no //-style comments
2018-03-26 19:53:37 +01:00
James Stevenson
0670befbaf
x265enc: Add "key-int-max" property
...
https://bugzilla.gnome.org/show_bug.cgi?id=794623
2018-03-26 19:53:24 +01:00
James Stevenson
add2c0c35a
x265: Fix tagging of keyframes on output buffers
...
https://bugzilla.gnome.org/show_bug.cgi?id=794620
2018-03-23 14:10:57 +00:00
Alicia Boya García
4d1b6882be
x265enc: Add format example for option-string
...
https://bugzilla.gnome.org/show_bug.cgi?id=793881
2018-02-27 13:56:57 -05:00
Nicolas Dufresne
4261692187
Remove plugin specific static build option
...
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:05:52 -04:00
Thibault Saunier
78022a6e0c
docs: Port all docstring to gtk-doc markdown
2017-04-12 12:57:57 -03:00
Fabrice Bellet
de27514b9b
x265: fix a minor string leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=776727
2017-01-03 00:12:21 +00:00
Nirbheek Chauhan
42af2d66d8
Add support for Meson as alternative/parallel build system
...
https://github.com/mesonbuild/meson
With contributions from:
Tim-Philipp Müller <tim@centricular.com>
Matej Knopp <matej.knopp@gmail.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)
Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded
... and many more. For more details see:
http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:35:54 +01:00
xlazom00
00ac1c7eb4
x265enc: Enable aspect ratio
...
x265 encoder need aspectRatioIdc == X265_EXTENDED_SAR if we want to use
sarWidth/sarHeight
https://bugzilla.gnome.org/show_bug.cgi?id=769716
2016-08-11 10:19:56 +02: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
Luis de Bethencourt
bca503a2c4
x265enc: get rid of _stdint.h include
...
It was never needed since it doesn't use any standard integer fixed width
types. Only the Glib types.
2016-02-08 13:43:24 +00:00
Arun Raghavan
6835c27e9f
x265enc: Drop incorrect stream-format="avc" in template caps
2015-09-21 19:11:42 +05:30
Thiago Santos
9e99102b48
x265enc: add accept-caps handling
...
Ovewrite default handling to avoid doing a caps query. Check
the received caps against the possible formats supported by
the x265 library.
2015-08-17 14:39:44 -03:00
Luis de Bethencourt
ca52600ccb
x265enc: remove dead code
...
level_ok is only used in a check that will never be true, removing it.
CID #1315255
2015-08-05 11:14:51 +01:00
Luis de Bethencourt
54b317ef78
x265enc: fix memory leak
...
Free vps_nal before returning.
CID #1315257
2015-08-05 11:11:14 +01:00
Thijs Vermeir
8d728abd8c
x265enc: Only copy VPS/SPS/PPS NAL units in header buffer
...
Previously the VPS unit was detected and all next packets where copied
into the header buffer assuming only SPS and PPS would follow. This is
not always true, also other types of NAL units follow the VPS unit and
where copied to the header buffer. Now the VPS/SPS/PPS are explicitely
detected and copied in the header buffer.
2015-05-20 13:16:01 +02:00
Thijs Vermeir
db766de135
x265enc: Fix tune parameter mismatch
...
There was a mismatch between the tune parameter in x265 and the enum
used in this element. The value in the enum is the x265 tune
parameter + 1.
2015-05-20 11:32:52 +02:00
Tim-Philipp Müller
699452ef31
Remove obsolete Android build cruft
...
This is not needed any longer.
2015-04-26 18:59:32 +01:00
Sebastian Dröge
767fefafb3
x265enc: Add support for 10bit 4:2:0 and 4:4:4 formats
2015-02-11 14:44:16 +01:00
Sebastian Dröge
037928dcf6
Improve and fix LATENCY query handling
...
This now follows the design docs everywhere, especially the maximum latency
handling.
https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 14:16:21 +01:00
Thiago Santos
77388f9d83
x265enc: reuse the gstvideo proxy getcaps
...
The caps query is implementing the same logic as the default
handler from the base class. Reuse it to simplify code.
2014-12-17 22:13:17 -03:00
Jürgen Slowack
c89844ec1e
x265enc: add qp property
...
QP property enables CQP mode and sets the QP for P slices.
2014-12-01 12:14:20 +01:00
Thijs Vermeir
f241294662
x265enc: add x265 encoder element
2014-10-15 17:11:39 +02:00