Stijn Last
4bda59f88d
deinterlace: greedy, improve quality
...
scanlines->m1 = same line of the previous field
scanlines->t0 = line above of the current field
scanlines->b0 = line below of the current field
scanlines->mp = same line of the next field
Deinterlacing a field weaved frame:
When deinterlacing the top field, the next bottom field is available
(part of the same frame). but when deinterlacing the bottom field,
the next top field (part of the next frame) is not available and
scanlines->mp equals NULL.
In this case it's better to use greedy algorithm using the prevous field
(twice) rather then linear interpolation of the current field.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5331 >
2023-09-25 06:40:47 +00:00
Vivia Nikolaidou
3257ee4374
deinterlace: Fix vfir 16-bit orc calculations
...
memcpy works in bytes, but orc works in items, so given that the size
arguments is in bytes, we need to divide by the pixel stride.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5172 >
2023-08-11 17:47:27 +00:00
Vivia Nikolaidou
6145a5c7cb
deinterlace: Fix greedyh crash for alternate-field interlacing
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2645
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5172 >
2023-08-11 17:47:27 +00:00
Seungha Yang
52cb42f4bb
deinterlace: Add support for high bitdepth planar YUV formats
...
Add C implementation for high bitdepth planar YUV formats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1476 >
2023-04-18 01:32:25 +09:00
Seungha Yang
aabe9136f6
deinterlace: yadif: Prettify indentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1476 >
2023-04-18 01:25:45 +09:00
Tim-Philipp Müller
0fc568c6b1
gst-plugins-good: re-indent with GNU indent 2.2.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182 >
2023-03-17 03:18:54 +00:00
Edward Hervey
aa61662632
deinterlace: Don't leak metas
...
There is no correlation between the frame being NULL and the metas not being
present.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Thibault Saunier
6a4425e46a
meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
...
Removing some copy pasted code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Jan Alexander Steffens (heftig)
d0fdfa76ae
deinterlace: Clean up error handling in chain and _push_history
...
- Consistently unref the chained buffer at the end of the chain
function, if we're not handing it off to `gst_pad_push`. This avoids a
few buffer leaks in the error paths in `_chain` and `_push_history`.
- When mapping the video frame fails, return a flow error instead of
crashing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2428 >
2022-05-17 10:56:23 +00:00
Matthew Waters
8cdbfec5ed
deinterlace: silence unused-but-set werror from imported code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2042 >
2022-03-28 03:00:58 +00:00
Jan Alexander Steffens (heftig)
2db283499e
deinterlace: scalerbob: Reduce latency to 0
...
We only need the current field, just like `linear`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1926 >
2022-03-12 22:48:39 +00:00
Vivia Nikolaidou
8c648384f2
yadif: Fix CHECK macro for YUY2 format
...
Used to make comb artifacts for videotestsrc pattern=ball for YUY2
format only (not AYUV).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1938 >
2022-03-12 17:18:47 +00:00
Jan Alexander Steffens (heftig)
ce503d0645
deinterlace: Prevent race between _set_method and latency query
...
It's possible that the method is being manipulated while downstream
queries our latency, leading to crashes.
Prevent that from happening.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1854 >
2022-03-04 16:14:46 +00:00
Vivia Nikolaidou
b699feefee
yadif.asm: Fix improper usage of LOAD macro
...
LOAD macro relies in m7 being zero for interleaving purposes. Using LOAD
on the m7 register makes it interleave with its new content instead of
with 0.
The effect of this bug was bobbing on some static lines that appeared
over fast-moving content.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1816 >
2022-03-01 07:22:10 +00:00
Vivia Nikolaidou
d499342f0d
yadif.asm: Typo fixes in comments
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1816 >
2022-03-01 07:22:10 +00:00
Vivia Nikolaidou
087ca88213
yadif: Fix bug in C implementation of CHECK
...
It was different compared to the corresponding part in both ffmpeg and
the asm implementation. Fixing this makes videotestsrc pattern=spokes
not jump at all when not using the asm optimisations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1816 >
2022-03-01 07:22:10 +00:00
Jan Alexander Steffens (heftig)
d6ec88c775
deinterlace: greedyh: Stop adding 2 to cur_field_idx
...
Just a simplification.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790 >
2022-02-25 12:06:56 +00:00
Jan Alexander Steffens (heftig)
dc1ae0aaa0
deinterlace: greedyh: Use _plane in _packed, fix planar formats
...
This greatly reduces code duplication. It also exposed the cause for
planar formats not being properly deinterlaced:
The planar path was missing the initial offset adjustment that the
packed path did to `L2` and `L2P` in the case of an even field, which
caused it to select the wrong weave lines every other field.
Add those offsets in `_plane`.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1047
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790 >
2022-02-25 12:06:55 +00:00
Jan Alexander Steffens (heftig)
625cbcf70a
deinterlace: greedyh: Rename _planar_plane to _plane
...
As well as `i` to `plane`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790 >
2022-02-25 12:06:55 +00:00
Jan Alexander Steffens (heftig)
7e16955e4d
deinterlace: greedyh: Move code from _planar into _planar_plane
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790 >
2022-02-25 12:06:55 +00:00
Jan Alexander Steffens (heftig)
19ca706fe8
deinterlace: greedyh: Move _planar_plane upwards
...
In preparation of refactoring. No functional change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790 >
2022-02-25 12:06:55 +00:00
Thibault Saunier
5ff769d731
Move files from gst-plugins-good into the "subprojects/gst-plugins-good/" subdir
2021-09-24 16:13:50 -03:00