Commit graph

134 commits

Author SHA1 Message Date
Wim Taymans ecdfb96f17 video: move methods into separate files
Move different video functionalities into different files
2012-06-05 12:47:22 +02:00
Wim Taymans b718dc26b5 video: add generic film primaries 2012-06-04 16:17:31 +02:00
Wim Taymans 7f134c1441 video: fix paletted format
RGB8_PALETTED -> RGB8P
Fix the definition of paletted formats, store the palette in the second
plane.
Make sure we copy the palette correctly in gst_video_frame_copy()
Don't do alignment on the palette in videopool
2012-05-31 13:44:43 +02:00
Wim Taymans a45bca53a1 video: add support for premultiplied alpha 2012-05-30 09:21:46 +02:00
Wim Taymans 69787d6f0c video: move enum difinition
c++ doesn't seem to like the typedef
2012-05-29 17:52:06 +02:00
Wim Taymans fda981045a video: Remove duplicate formats
Remove Y800 and Y16 wich are the same as GRAY8 and GRAY16_LE
Add const to the GstVideoFormatInfo when used in argument
Add GRAY8 and GRAY16 pack/unpack functions
2012-05-29 17:52:06 +02:00
Wim Taymans abe4b0b235 video: fill in the pack/unpack functions
Add support for supporting chroma subsampling correctly in the pack
function.
Fill in the pack and unpack functions for most formats.
Add some missing pack/unpack functions to the orc file.
2012-05-29 17:52:06 +02:00
Wim Taymans 2ba36a69bf video: add flags for the pack/unpack functions
Add a flag argument to the pack and unpack function so that we can expand it
later when needed. We could for example prefer a High Quality pack/unpack
operation later.
2012-05-29 09:53:15 +02:00
Wim Taymans 3925b20e25 video: add padding 2012-05-29 09:52:40 +02:00
Wim Taymans 59d8d73aa2 video: add 10 bits I420 format
Add 10 bits I420 format definitions
Move encoded format as second entry in the array so that it doesn't end up in a
weird place when we add formats.

See https://bugzilla.gnome.org/show_bug.cgi?id=665034
2012-05-25 17:01:19 +02:00
Wim Taymans ae42b25c07 video: improve docs and design of multiview interlaced
Put fields of interlaced frames after eachother.
Improve the docs of the video interlaced enums.
2012-04-25 15:27:04 +02:00
Wim Taymans 07d34f576a video: add fields interlacing enum
Add an enum and docs for the fields interlace mode.
Improve the video caps docs for the fields interlace mode.
2012-04-25 14:57:40 +02:00
Sebastian Dröge f7bc9cc5ba video: Initial port of video base classes and related things to 0.11 2012-04-24 19:35:24 +02:00
Wim Taymans 04a2610444 video: improve frame_flags
Rename the frame_flags to flags. Because they are flags on the frame object it
does not need the redundant frame_ prefix.
Change the order of the metadata constructor so that the flags come before the
format and dimension arguments.
2012-04-19 14:14:35 +02:00
Sebastian Dröge 91ffe7dd5e video: Clean up interlaced flags and enums
There's a new GstVideoFrameFlags enum now that contains the frame
specific flags only. GstVideoFlags does not contain the TFF/TFF/ONEFIELD
flags anymore because these are strictly frame specific.

Also add fallback to parse these fields from the GstBufferFlags in
gst_video_frame_map() if there's no GstVideoMeta attached to the buffer.
2012-04-19 12:30:57 +02:00
Wim Taymans ac9a8781ba video: fix macros 2012-04-02 12:25:30 +02:00
Mark Nauwelaerts 6c260d732c video: remove bogus define 2012-03-26 18:13:13 +02:00
Wim Taymans e620dbc57d video: add function to copy one video plane 2012-03-19 12:26:11 +01:00
Mark Nauwelaerts fa63d7181d video: add GST_VIDEO_INFO_COMP_BITS 2012-02-06 10:52:01 +01:00
Sebastian Dröge 103c59af24 video: Add GST_VIDEO_INFO_COMP_WIDTH 2012-02-06 09:53:22 +01:00
Wim Taymans fcdc385aa1 port to new map API 2012-01-25 12:30:53 +01:00
Wim Taymans 21ed12739e video: add macro to check interlaced
Add a convenience macro to check if the video is interlaced.
2012-01-03 10:41:51 +01:00
Wim Taymans 21bf4f04f3 video: fix some video formats
Rename the offset field in GstVideoFormatInfo to poffset to avoid confusion with
the offset of the plane in the buffer. The poffset is the offset in the plane
where the first byte of the component data can be found.
Properly implement the COMP_OFFSET calculations.
Fix YV12 and YVU9, simply use the same offsets as the regular I420 and YUV9
variants, we use the plane info to reorder components already.
Improve the unit test.
2012-01-02 13:30:53 +01:00
Wim Taymans ddc05e0ed1 propertyprobe: remove propertyprobe
Remove the propertyprobe interface
Improve docs
2011-12-21 11:58:53 +01:00
Wim Taymans 6241ff63f8 video: update interlace caps and docs
Remove interlaced boolean from caps and replace with an interlace-mode enum.
document this new property in the video caps document. With the enum we can
put fields into separate video meta.
Add enum for this interlace-mode in the VideoInfo.
Update the buffer flags.
2011-12-19 18:03:45 +01:00
Tim-Philipp Müller ec0d3566bf Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/alsa/gstalsasrc.c
	ext/alsa/gstalsasrc.h
	gst/adder/gstadder.c
	gst/playback/gstplaybin2.c
	gst/playback/gstplaysinkconvertbin.c
	win32/common/libgstvideo.def
2011-12-02 00:07:39 +00:00
Wim Taymans 59113af604 Use the new GstSample for snapshots
Make appsink return a GstSample. Remove the pull_buffer_list method because it
is not very useful anymore.
Pass GstSample to the conversion function.
Update playbin2 and examples
2011-12-01 16:53:11 +01:00
Alessandro Decina 848711706b libgstvideo: minor fixes to key unit events
Make out args to gst_video_event_parse_{downstream|upstream}_force_key_unit
optional, update libgstvideo.def and fix docs a bit.

API: gst_video_event_new_upstream_force_key_unit
API: gst_video_event_new_downstream_force_key_unit
API: gst_video_event_is_force_key_unit
API: gst_video_event_parse_upstream_force_key_unit
API: gst_video_event_parse_downstream_force_key_unit

https://bugzilla.gnome.org/show_bug.cgi?id=607742
2011-11-29 09:15:59 +01:00
Andoni Morales Alastruey df44e771f1 libgstvideo: Add force key unit events 2011-11-29 08:58:28 +01:00
Vincent Penquerc'h ea78b060a7 Revert "libgstvideo: add a new API to handle QoS events and dropping logic"
This reverts commit eb03323fb6.

*grumble* I managed to merge something I did not mean to.
2011-11-28 13:26:53 +00:00
Vincent Penquerc'h eb03323fb6 libgstvideo: add a new API to handle QoS events and dropping logic
https://bugzilla.gnome.org/show_bug.cgi?id=658241
2011-11-28 12:34:43 +00:00
Wim Taymans 06a6ab3e32 video: add support for max-framerate
Add support for max-framerate in the video helpers and update the video
caps document.
2011-11-11 13:14:21 +01:00
Edward Hervey dfc9d1658d video: Add convenience macros for accessing GstVideoInfo flags 2011-11-02 11:24:33 +01:00
Wim Taymans 8778cff7f0 video: add h264 transfer functions 2011-10-03 10:02:43 +02:00
Wim Taymans 67f1a097bf video: add another color matrix for mpeg2 2011-09-30 11:04:19 +02:00
Wim Taymans 9592796d8a video: fix docs 2011-09-30 11:04:19 +02:00
Wim Taymans 4bf9022e0c docs: improve docs 2011-09-27 11:19:24 +02:00
Wim Taymans f04b8fd8af audio/video add descriptions
Add a description to the audio and video format info in case we want to use this
later.
2011-09-06 16:46:48 +02:00
Wim Taymans 2f2aa4ac32 video: improve docs a little 2011-08-31 13:32:21 +02:00
Wim Taymans de4aeab544 video: add some more macros 2011-08-30 14:04:54 +02:00
Edward Hervey d0eb0ed058 video: Fix typo in interlaced flag (TTF => TFF) 2011-08-25 17:41:11 +02:00
Wim Taymans b79ddf66d2 video: clean up the custom flags
Clean up the flags, make an enum of them. We can now do this because there are
no subclasses of buffer anymore.
2011-08-25 16:42:08 +02:00
Wim Taymans 24ea19935f audio/video: add format of the pack functions
Replace the unpack_size with an unpack_format, which is more descriptive of the
kind of data the unpack function will create.
2011-08-24 16:40:43 +02:00
Wim Taymans 1bb83435fd video: Add an id to the video frame
Rename @view_id to @id.
Add an id to the video metadata. Add a method to get the metadata from a buffer
with the given id.
Make a method to map a frame with a certain id. This only maps the frame with
the given id on the video metadata. The generic frame id can be used when a
buffer carries multiple video frames such as in multiview mode but maybe also
when dealing with interlaced video that stores the fields in separate buffers.
2011-08-24 13:52:20 +02:00
Wim Taymans e78b66f5a3 video: fix chroma-site enums 2011-08-23 20:34:24 +02:00
Wim Taymans 76c4bef932 video: fix docs 2011-08-23 19:04:34 +02:00
Wim Taymans 9ad89374a3 video: add colorimetry info
Make enums for the chroma siting for easier use in the videoinfo.
Make enums for the color range, color matrix, transfer function and the
color primaries. Add these values to the video info structure in a Colorimetry
structure. These values define the exact colors and are needed to perform
correct colorspace conversion. Use a couple of predefined colorimetry specs
because in practice only a few combinations are in use.
Add view_id to the video frames to identify the view this frame represents in
multiview video.
Remove old gst_video_parse_caps_framerate, use the videoinfo for this.
Port elements to new colorimetry info.
Remove deprecated colorspace property from videotestsrc.
2011-08-23 18:57:35 +02:00
Wim Taymans 00a30b5cfd video: parse number of views
Parse the number of views in multiview video buffers.
2011-08-22 15:57:30 +02:00
Wim Taymans c81c62d03a fourcc: remove fourcc
Remove fourcc in caps.
Fix pbutils descriptions.
Add more video macros
Fix some unit test
2011-08-22 12:22:02 +02:00
Wim Taymans dae848818d audio: rework audio caps.
Rework the audio caps similar to the video caps. Remove
width/depth/endianness/signed fields and replace with a simple string
format and media type audio/x-raw.
Create a GstAudioInfo and some helper methods to parse caps.
Remove duplicate code from the ringbuffer and replace with audio info.
Use AudioInfo in the base audio filter class.
Port elements to new API.
2011-08-18 19:15:03 +02:00