Stéphane Cerveau
619cbca642
openjpegdec: Fix crash with AYUV64 in subframe mode
...
Remove useless generic fill_frame methods to use
the packed one for AYUV and AYUV64.
Fix gst-launch-1.0 -v videotestsrc !
video/x-raw,width=640,height=480,format=AYUV64 ! openjpegenc
num-stripes=8 ! openjpegdec max-threads=8 ! videoconvert !
autovideosink sync=false
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979 >
2021-09-20 15:11:02 +00:00
Stéphane Cerveau
86be138973
openjpegdec: support for a multithreaded decoding.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979 >
2021-09-20 15:11:02 +00:00
Aaron Boxer
18c3437546
openjpegdec: enable sub frame mode
...
Rebuild output frame from multiple stripes input.
Keep the first frame and fill it with the following stripes to finish
a complete frame only once.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979 >
2021-09-20 15:11:02 +00:00
Olivier Crête
b2f7cb3372
openjpegdec: Reject stripes for now
...
They're not implemented.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979 >
2021-09-20 15:11:02 +00:00
Olivier Crête
27d1313404
openjpegenc: Only allow stripe with image/x-jpc format
...
It's the only format that our MPEG-TS muxer allows and the carriage of
JPEG 2000 stripes is only defined for MPEG-TS as far as I know.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979 >
2021-09-20 15:11:02 +00:00
Stéphane Cerveau
116a10d531
openjpegenc: support for a multithreaded encoding.
...
This commit introduces a multithreaded encoder allowing
to encode mulitple stripes or subframes in separated threads.
This feature aims to enhance the overall latency of a codec
pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979 >
2021-09-20 15:11:02 +00:00
Stéphane Cerveau
a71ec17cf0
jpeg2000parse, openjpeg: add support for YCrCb 4:1:1 sampling
...
Add YCrCb 4:1:1 support in openjpeg elements
and fix in jpeg2000parse the YCrCb 4:1:0 support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2321 >
2021-06-14 11:05:45 +02:00
Stéphane Cerveau
c4a1de5510
openjpeg: 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
Matthew Waters
640a65bf96
gst: don't use volatile to mean atomic
...
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead. GCC 11 has started warning about using volatile
with atomic operations.
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2098 >
2021-03-22 14:34:36 +11:00
Aaron Boxer
330b2c6b7c
openjpegenc: store stripe offset when encoding image
...
The decoder can simply read this offset after decoding
to know where to blit the stripe to the full frame
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800 >
2020-11-12 13:53:47 +00:00
Aaron Boxer
af87da86e2
openjpegenc: take subsampling into account when calculating stripe height
...
We calculate minimum of (stripe height * sub sampling) across all components
to ensure that all component dimensions are consistent with sub-sampling.
The last stripe for each component is simply the remaining height.
limit wavelet resolutions for "thin" stripes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800 >
2020-11-12 13:53:47 +00:00
Stéphane Cerveau
4f6b609558
openjpegenc: fix memory leak from mstream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800 >
2020-11-12 13:53:47 +00:00
Aaron Boxer
7463e1090c
openjpegenc: fail negotation in handle_frame if alignment mismatch
...
If encoder is in stripe mode, then downstream must also support stripe
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800 >
2020-11-12 13:53:47 +00: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
Stéphane Cerveau
3f16353d64
meson: add libopenjp2 fallback for openjpeg
...
As a wrap is now available in gst-build, the fallback
can be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1270 >
2020-05-21 08:36:59 +00:00
Aaron Boxer
cd0c07e899
openjpegenc: add support for sub-frame encoding
...
Following the standard for low latency JPEG 2000 encoding
https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.222.0-200701-S!Amd1!PDF-E&type=items
we divide the image into stripes of a specified height, and encode
each stripe as a self-contained JPEG 2000 image. This MR is based on
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/429
2019-12-22 02:54:00 +00:00
Tim-Philipp Müller
f218ec2794
Remove autotools build system
2019-10-14 13:54:27 +01:00
Aaron Boxer
2c1244331f
openjpegdec: enable multi-threaded decode
2019-07-29 15:18:34 -04:00
Aaron Boxer
1402ed8984
openjpegdec: check return value when setting up decoder
2019-07-29 14:48:39 -04:00
Aaron Boxer
8af8e73573
openjpeg: remove support for OpenJPEG 1.5
...
Also require OpenJPEG version >= 2.2
2019-07-28 17:03:13 -04:00
Thibault Saunier
47a49f3381
docs: Build documentation with hotdoc
2019-05-13 17:00:00 -04: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
Jan Alexander Steffens (heftig)
e5977b8794
openjpeg: Remove compatibility with openjpeg 2.0
...
Everyone seems to be shipping 2.1 as the oldest v2 version, even debian
oldstable (jessie).
Also remove an unneeded (debug?) #include <stdio.h>.
https://bugzilla.gnome.org/show_bug.cgi?id=788703
2017-10-20 12:27:30 +02:00
Jan Alexander Steffens (heftig)
bff2d834a4
openjpeg: Support building with openjpeg 2.3, simpler
...
OpenJPEG 2.3 installs its headers to /usr/include/openjpeg-2.3. However,
since libopenjp2.pc seems to provide the right includedir CFLAGS at
least since version 2.1, instead of adding yet another version check,
just remove the subdir and the check for 2.2.
https://bugzilla.gnome.org/show_bug.cgi?id=788703
2017-10-20 12:27:30 +02:00
Jan Alexander Steffens (heftig)
d1cbeb4fe7
Revert "openjpeg: Support building with openjpeg 2.3"
...
This reverts commit ef4d6b93e6
.
A better fix follows.
https://bugzilla.gnome.org/show_bug.cgi?id=788703
2017-10-20 12:27:30 +02:00
Thibault Saunier
ef4d6b93e6
openjpeg: Support building with openjpeg 2.3
...
And avoid failling the build each time openjpeg releases a new version.
2017-10-16 11:05:12 +02:00
Thibault Saunier
df4c6385aa
meson: Fix build with openjpeg>=2.2
...
2.2 implies HAVE_2_1
2017-08-14 16:37:27 -03:00
Clemens Lang
15f24fef53
openjpeg: Fix build against openjpeg 2.2
...
OpenJPEG 2.2 has some API changes and thus ships its headers in a new
include path. Add a configure check (to both meson and autoconf) to
detect the newer version of OpenJPEG and add conditional includes.
Fix the autoconf test for OpenJPEG 2.1, which checked for HAVE_OPENJPEG,
which was always set even for 2.0.
https://bugzilla.gnome.org/show_bug.cgi?id=786250
2017-08-14 10:25:07 +03:00
Aaron Boxer
6d723303a2
openjpegdec: support grayscale with alpha channel
...
https://bugzilla.gnome.org/show_bug.cgi?id=783591
2017-07-10 10:15:18 +03:00
Tim-Philipp Müller
c0550265e6
Revert "openjpegdec: support grayscale with alpha channel"
...
This reverts commit 1883ac26b7
.
This breaks the build on older versions of openjpeg:
gstopenjpegdec.c:752:30: error: ‘opj_image_comp_t {aka struct opj_image_comp}’ has no member named ‘alpha’
https://bugzilla.gnome.org/show_bug.cgi?id=783591
2017-07-06 09:37:28 +01:00
Aaron Boxer
1883ac26b7
openjpegdec: support grayscale with alpha channel
...
https://bugzilla.gnome.org/show_bug.cgi?id=783591
2017-07-06 10:01:46 +03:00
Aaron Boxer
a6d1f77299
openjpegdec: fix display artifacts for RGB 8-bit
...
https://bugzilla.gnome.org/show_bug.cgi?id=783626
2017-06-12 09:54:44 +03:00
Vincent Penquerc'h
903684aa78
openjpeg: guard against invalid memory access on crafted files
2017-06-08 16:17:44 +01: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
Sebastian Dröge
6e749f17da
openjpegdec: Properly offset and shift for all formats when converting
...
And while at it, also clean up some code.
2016-09-24 10:49:10 -04: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
Josep Torra
ee5aa3d8b5
openjpegenc: use the corrent enumeration
...
Fixes the following error when building in osx.
error: implicit conversion from enumeration type
'GstJPEG2000Colorspace' to different enumeration type
'GstJPEG2000Sampling'
2016-08-08 13:10:12 +02:00
Tim-Philipp Müller
ab2281be0f
openjpeg: fix more broken includes
2016-06-24 09:41:18 +01:00
Aaron Boxer
e7e6a3579d
jpeg2000parse: use enums for colorspace and sampling, rather than strings
...
Also, move gstjpeg2000sampling to codecparsers project
https://bugzilla.gnome.org/show_bug.cgi?id=767908
2016-06-24 11:23:31 +03:00
Aaron Boxer
74dcb59025
openjpegdec: use sampling field to determine RGB channel
...
https://bugzilla.gnome.org/show_bug.cgi?id=767402
2016-06-21 11:43:04 +03:00
Tim-Philipp Müller
4c874797b2
openjpeg: fix builddir != srcdir build, and distcheck
2016-06-07 14:15:41 +01:00
Aaron Boxer
eebb65e934
openjpeg: set sampling in the caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=766236
2016-06-07 15:24:32 +03:00
Aaron Boxer
e76705dbde
openjpegenc: enable MCT for RGB video
...
https://bugzilla.gnome.org/show_bug.cgi?id=766732
2016-05-21 09:44:22 +03:00
Nirbheek Chauhan
1536f30cc2
openjpeg: Port to 2.1 and require a pkg-config file for 2.0 and 2.1
...
The port was trivial, and according to the NEWS file nothing else has changed,
but it is possible that other API was changed without proper notification.
OpenJPEG upstream has shipped a pkg-config file for the past 4 years, and all
distros should be shipping it by now.
https://bugzilla.gnome.org/show_bug.cgi?id=766213
2016-05-10 14:03:33 +03: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
Sebastian Dröge
9b4611ccae
openjpegdec: Don't crash when decoding returns NULL data for any component
...
https://bugzilla.gnome.org/show_bug.cgi?id=758943
2015-12-17 15:57:57 +01:00
Sebastian Dröge
9cfe04de92
openjpegenc: All frames in JPEG2000 are keyframes, mark them as such
2015-12-07 20:35:01 +02:00
Thiago Santos
a6dc5e19a2
videoencoders: use template subset check for accept-caps
...
It is faster than doing a query that propagates downstream and
should be enough
Elements: openjpegenc, schroenc, webpenc, pnmenc
2015-08-17 14:39:44 -03:00