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.
Make a new GstVideoFormatinfo structure that contains the specific information
related to a format such as the number of planes, components, subsampling,
pixel stride etc. The result is that we are now able to introduce the concept of
components again in the API.
Use tables to specify the formats and its properties.
Use macros to get information about the video format description.
Move code to set strides, offsets and size into one function.
Remove methods that are not handled with the structures.
Add methods to retrieve pointers and strides to the components in the video.
Remove the GstVideoPlane structure and move the fields directly into the
GstVideoInfo structure. This makes things a little easier to read and also makes
it more likely that we can pass the stride array to external libraries.
Update docs.
Add method to get number of components.
Implement method to calculate defaults from format and dimensions.
Improve caps parsing.
Implement GstVideoInfo to caps conversion.
Add GstVideoFlags similar to the flags on the metadata. The idea is to replace
the metadata flags with the GstVideoFlags.
Move VideoPlane to video.h, it contains the information for a plane.
Add GstVideoInfo structure that holds the current configuration of a video
format.
Add methods to parse caps into GstVideoInfo.
Use breaks for case branches instead of return 0. We don't expect these to
happen anyway. Thus have a warning before the final return to make it easier to
see when things go out of sync.
This fixes a regression that an assertion would happen if
gst_video_get_component_offset would be called with width or
height as 0.
Calling it with 0 is fine if the format isn't yuv and this
was already being used in some other places of video.c
Add a new video event to mark the start or end of a still-frame
sequence, and a parser function to identify and extract info from
such events.
API: gst_video_event_new_still_frame()
API: gst_video_event_parse_still_frame()
Fixes: #601942
These three flags allow all know combinations of interlaced formats. They should
only be used when the caps contain 'interlaced=True'.
Fixes#163577 (yes, it's a 4 year old bug).
Original commit message from CVS:
* gst-libs/gst/video/video.c: (gst_video_format_parse_caps):
Video format can also be conveniently determined from (many)
non-fixed caps.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/interfaces/colorbalance.c:
* gst-libs/gst/interfaces/colorbalance.h:
* gst-libs/gst/interfaces/colorbalancechannel.c:
* gst-libs/gst/interfaces/colorbalancechannel.h:
* gst-libs/gst/interfaces/tuner.c:
* gst-libs/gst/interfaces/tunerchannel.c:
* gst-libs/gst/interfaces/tunerchannel.h:
* gst-libs/gst/interfaces/tunernorm.c:
* gst-libs/gst/interfaces/tunernorm.h:
* gst-libs/gst/video/video.c:
* gst-libs/gst/video/video.h:
Document the GstTuner and GstColorBalance interfaces, and some
other random API functions that needed it. 70% symbol coverage, woo.
Original commit message from CVS:
* gst-libs/gst/video/video.c: (gst_video_format_new_caps),
(gst_video_format_to_fourcc), (gst_video_format_get_row_stride),
(gst_video_format_get_pixel_stride),
(gst_video_format_get_component_width),
(gst_video_format_get_component_height),
(gst_video_format_get_component_offset), (gst_video_format_get_size),
(gst_video_format_convert):
Add guards to these functions to ensure sane input values.
* tests/check/libs/video.c:
Fix unit test not to create caps with width=0 and height=0.
Original commit message from CVS:
* gst-libs/gst/video/video.c: (gst_video_format_parse_caps),
(gst_video_format_from_rgba32_masks):
Fix gst_video_format_parse_caps() for RGB caps with alpha channel
(#522635).
* tests/check/libs/video.c: (test_parse_caps_rgb), (video_suite):
Add unit test for the RGB caps parsing and creation, checking for
internal consistency of the new API and consistency of the API with
the old GST_VIDEO_CAPS_* defines.
Original commit message from CVS:
* gst-libs/gst/video/video.c: (gst_video_format_get_component_offset):
YV12 is I420 with swapped components 1 and 2, so the offset of
component 1 for I420 should be the offset for component 2 for YV12
and vice versa.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/video/video.c:
* gst-libs/gst/video/video.h:
Add new GstVideFormat enum and write a bunch of helper functions
based around it.
Original commit message from CVS:
first bunch of conversions to new plugin_init. Includes libs/gst, gst/id3, sys/oss, ext/gnomevfs, gst/typefind and ext/mad.
You guessed it, everything Rhythmbox needs ;)
fixed BMP typefind and made gnomevfs one plugin instead of two while doing this
Original commit message from CVS:
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
Original commit message from CVS:
compatibility fix for new GST_DEBUG stuff.
Includes fixes for missing includes for config.h and unistd.h
I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.