Wim Taymans
19cd171035
video-scaler: fix offset check
2014-10-31 11:23:21 +01:00
Wim Taymans
5c3c42b95d
video-converter: also chroma up/downsample when scaling
2014-10-31 11:23:21 +01:00
Wim Taymans
6a529cb1dd
video-converter: clamp input lines correctly
2014-10-31 11:23:21 +01:00
Tim-Philipp Müller
ef98393b0d
video-scaler: fix build without orc
...
https://bugzilla.gnome.org/show_bug.cgi?id=739433
2014-10-30 23:53:39 +00:00
Wim Taymans
5cf4aa358d
video-converter: add border color
2014-10-30 17:34:48 +01:00
Wim Taymans
ce2d4d40a1
video-converter: add support for src/dest regions
...
Add support for cropping the source and placing the converted image
into a rectangle in the destination frame.
Add an option to add a border and border color.
2014-10-30 17:34:48 +01:00
Wim Taymans
49d909dabf
video-scaler: add more ORC functions
...
Add the old ORC functions for nearest and linear. Label them as Low
quality because they are not as accurate but ORC lacks opcodes to
express this for now.
2014-10-30 11:48:00 +01:00
Wim Taymans
ca2bd1cc6b
video-scaler: rename resampler to video-resampler
...
Prefix the resampler with video-. It we would like to reuse the
resampler for audio later, we can copy/move it and deprecate this
one.
2014-10-30 11:48:00 +01:00
Wim Taymans
daf20d5e09
video-scaler: remove color range argument
...
We just need to clip to the format limits, if there is extra headroom in
the range we can use that without problems.
2014-10-29 17:38:33 +01:00
Wim Taymans
21ba193dd6
video-scaler: add ORC optimized versions
...
Add ORC optimized versions of 2 and 4tap vertical scaling. Provide
a high quality 12 bits and a low quality 6 bits version.
2014-10-29 16:26:19 +01:00
Wim Taymans
84176843c1
video-scaler: add precision to make_s16_taps
2014-10-29 16:26:19 +01:00
Wim Taymans
72b30ac5ed
video-converter: copy config fields
...
When setting a new config, copy all the fields into our own config and
not only the ones we know about.
2014-10-29 16:26:19 +01:00
Wim Taymans
28e5ed00de
resampler: make offset/phase/n_taps uint32
...
Make various resizer fields uint32 so that we can use them in ORC
functions later.
2014-10-29 16:26:19 +01:00
Wim Taymans
9591e22fee
video-converter: don't convert too much
...
Always convert the smallest width.
2014-10-29 16:26:10 +01:00
Wim Taymans
fcc7fbd460
resampler: make shift easier to use
2014-10-29 16:26:10 +01:00
Wim Taymans
716b91d86e
resampler: add parameters to cubic filter
...
Improve cubic filter and add parameters. Switch to mitchell filter
by default.
2014-10-29 16:26:10 +01:00
Wim Taymans
32047eaac0
video-scaler: add extra options
2014-10-29 16:26:10 +01:00
Wim Taymans
c409a45d13
video-converter: define some options
2014-10-29 16:26:10 +01:00
Wim Taymans
ad0e0006b2
resampler: add some options
2014-10-29 16:26:10 +01:00
Wim Taymans
b4a5001e3c
resampler: limit max number of taps
...
Don't use more taps than the input size.
2014-10-29 16:26:10 +01:00
Wim Taymans
a81d450b7e
video-converter: add scaling support
...
Add scaling support for the video-converter object
2014-10-29 16:26:10 +01:00
Wim Taymans
199fab4b06
video-scaler: add video scaler helper object
...
Add a video scaler object build on top of the resampler. It has
implementation to deal with interlaced video as well as horizontal and
vertical scaling functions.
2014-10-29 16:26:10 +01:00
Wim Taymans
c9c9e8158d
video: add generic resampler
...
Add an object that can generate a set of resample filter coefficients.
2014-10-29 16:26:10 +01:00
Wim Taymans
549bdd4ece
video-converter: rework the generic converter function
...
Use a LineCache object to track and process lines between unpack,
upsample, convert, downsample and pack stages. This simplifies the
main core processing function a lot and allows for future additions
easily.
Add support for interlaced formats in chroma up and downsampling.
2014-10-29 16:26:10 +01:00
Wim Taymans
71efeaaa6f
video-convert: swap src and dest
...
It is more natural and consistent with other uses.
2014-10-29 16:26:10 +01:00
Wim Taymans
6547985f27
video-chroma: fix typo
2014-10-29 16:26:10 +01:00
Vineeth T M
2847a8108c
video-blend: segfault when xpos >= video size
...
When the xpos is given as greater than or equal to the video size,
we get a segfault, due to improper condition.
Hence adding proper conditions.
https://bugzilla.gnome.org/show_bug.cgi?id=738984
2014-10-27 10:29:15 +00:00
Luis de Bethencourt
3f5b9c4c8b
videoblend: Avoid assigning a negative value to a guint
...
There are some few but certain conditions where it is possible for the
dest_width to be smaller than x. So we check this before assigning a negative
value to src_width, which is a unsigned and would be promoted to a number that
can segfault videoblend.
https://bugzilla.gnome.org/show_bug.cgi?id=738242
2014-10-11 19:10:46 +01:00
Wim Taymans
e115e5059b
video-chroma: improve 4x downsampling coefficients
2014-10-08 11:36:15 +02:00
Sebastian Dröge
2c4bd2296a
videoconverter: Free the converter config in free()
2014-10-06 10:11:05 +03:00
Sebastian Dröge
7b428a8bcb
videoencoder: Stop storing if we received EOS
...
This was never reset when going from PAUSED->READY and resulted
in encoders being not reusable after EOS. They just rejected any
buffer because they received EOS in their previous life.
The flag wasn't used anywhere except for rejecting buffers after
EOS, and this is now handled by GstPad directly.
2014-10-04 23:09:19 +03:00
Aurélien Zanelli
9297fe9ba0
videoencoder: release frame in finish_frame when no output state is configured
...
Otherwise, frame is leaked.
https://bugzilla.gnome.org/show_bug.cgi?id=737706
2014-10-01 12:53:45 +03:00
Wim Taymans
b5f3e5261a
video-converter: add orc optimized matrix8 function
...
Add an ORC implementation of the matrix8 function.
Regenerate video-orc-dist.[ch]
2014-09-29 17:28:06 +02:00
Rico Tzschichholz
c9f4ebf495
video: Make sure to link against libm
2014-09-27 19:09:08 +01:00
Wim Taymans
07d1d7ba38
video: improve YUV -> RGB conversion
...
Reorganize orc instructions to free up some registers.
We can reuse the ORC code to implement the generic AYUV->ARGB matrix.
2014-09-26 18:14:11 +02:00
Tim-Philipp Müller
70d729aa8c
video: update disted orc backup files
2014-09-25 15:19:46 +01:00
Wim Taymans
98c42dc5e4
video: convertor -> converter
2014-09-24 16:19:30 +02:00
Wim Taymans
b2fd20c416
video: move videoconvert code to video library
...
Move the conversion code used in videoconvert to the video library
and expose a simple but generic API to do arbitrary conversion. It can
currently do colorspace conversion but the plan is to add videoscale to
it as well.
See https://bugzilla.gnome.org/show_bug.cgi?id=732415
2014-09-24 15:59:39 +02:00
Wim Taymans
0c40b83ed4
video-color: add gst_video_color_matrix_get_Kr_Kb()
...
Move the function to get the color matrix coefficients from
videoconvert to the video library.
2014-09-24 15:59:39 +02:00
Ognyan Tonchev
00b43badc7
videopool: add missing annotation for gst_video_buffer_pool_new()
...
https://bugzilla.gnome.org/show_bug.cgi?id=737072
2014-09-24 11:02:42 +03:00
Stefan Sauer
cabe5746fb
videoencoder: log the timestamps if we are unhappy about them
...
When complaining about the DTS!=PTS on keyframes log the actualy timestamps.
2014-09-22 20:16:31 +02:00
Ognyan Tonchev
29f548a7cd
videodecoder: do not leak events when flushing them
...
https://bugzilla.gnome.org/show_bug.cgi?id=736796
2014-09-18 12:40:15 +03:00
Ognyan Tonchev
d8260cdb89
videoencoder: do not leak events when flushing them
...
https://bugzilla.gnome.org/show_bug.cgi?id=736796
2014-09-18 12:40:08 +03:00
Sebastian Dröge
269f642c45
video-frame: Don't ref buffers twice when mapping
2014-09-16 01:07:18 +03:00
Ognyan Tonchev
787b3fa7ec
videodecoder: do not leak pool and allocator in error case
...
https://bugzilla.gnome.org/show_bug.cgi?id=736679
2014-09-15 10:43:23 -04:00
Sebastian Dröge
3a7cdcdfc9
videofilter: Use new GST_VIDEO_FRAME_MAP_FLAG_NO_REF
...
https://bugzilla.gnome.org/show_bug.cgi?id=736118
2014-09-12 14:41:01 +03:00
Sebastian Dröge
40a293d44d
video-frame: Add GST_VIDEO_FRAME_MAP_FLAG_NO_REF
...
This makes sure that the buffer is not reffed another time when
storing it in the GstVideoFrame, keeping it writable if it was
writable.
https://bugzilla.gnome.org/show_bug.cgi?id=736118
2014-09-12 14:39:16 +03:00
Sebastian Dröge
f711288c7c
videofilter: Unref buffers before calling the transform_frame functions
...
GstVideoFrame has another reference, so the buffer looks unwriteable,
meaning that we can't attach any metas or anything to it
https://bugzilla.gnome.org/show_bug.cgi?id=736118
2014-09-12 14:27:44 +03:00
Sebastian Dröge
0a19783291
videodecoder: Fix broken boolean expression
...
We can seek with end_type==NONE and end_type==SET && end_position=-1. The
check for end_type!=NONE made the second condition impossible.
CID 1226440
2014-08-28 17:06:22 +03:00
Jan Schmidt
c98f051548
video: Add gst_video_guess_framerate() function
...
Takes a nominal frame duration and returns a standard
FPS if it matches closely enough (< 0.1%), or else
calculates a framerate that'll do.
2014-08-15 01:08:22 +10:00