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
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
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.
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.
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.
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
DTS type I-III specify the burst length in bits. Only type IV (which we
do not currently support) needs it to be specified in bytes. Thanks to
Julien Moutte for pointing this out.
When closing the connection, unref the currently used sockets. This should close
them when not in use. We need to do this because else we cannot reconnect
anymore after a close, the connect function requires that the sockets are NULL.
Clear the GError after g_socket_connect tells us that the connection is pending.
If we don't do this, glib complains when we try to reuse the non-NULL GError
variable a little below.
They're hardly used, and probably more confusing than anything
else, and it's not clear that anyone would really need to be
able to tell them apart at the media type level.
This makes sure that we wait until we received all tags for the
subtitle streams and have all information that is collected by
the discoverer.
Fixes bug #673504.
When need to push out all the previously received events, concatenate all the
events from the previous frames (instead of leaking the old ones)
Improve debugging a little
Conflicts:
gst-libs/gst/video/gstvideodecoder.c
Frames receive a refcount when added to the frames list so release that refcount
in gst_video_decoder_do_finish_frame(). Also release the ref on the frame
because gst_video_decoder_do_finish_frame() takes ownership of the passed frame.
This allows subclasses to override it, as is necessary for e.g. the
video-crop meta. It is now necessary that after decide_allocation()
there is always a allocator and a configured buffer pool inside the
query.
Video base classes and theora plugin still needs to be ported again
Conflicts:
docs/libs/gst-plugins-base-libs-docs.sgml
docs/libs/gst-plugins-base-libs-sections.txt
docs/libs/gst-plugins-base-libs.types
ext/theora/gsttheoradec.c
ext/theora/gsttheoradec.h
ext/theora/gsttheoraenc.c
ext/theora/gsttheoraenc.h
gst-libs/gst/video/Makefile.am
gst-libs/gst/video/video.c
gst-libs/gst/video/video.h
gst/playback/gsturidecodebin.c
tests/check/libs/video.c
tests/check/pipelines/theoraenc.c
win32/common/libgstvideo.def
Some container formats (like AVI) set DTS on the buffers instead of
PTS.
We detect this by:
* detecting if input timestamps are non-increasing
* detecting if the order the frames come out is the same as the order
they were inputted (meaning the implementation is reordering frames).
If the decoder reorders frames, but input buffer timestamps were not
reordered, that means the buffers has DTS and not PTS as their timestamp.
If this is the case, we use set the PTS of the outgoing frames in the
same order as they were given to the decoder.
This fixes the issue for any decoder using this base class (yay).
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.
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.
When setting its config, the pool increase the ref count of the allocator, but
at finalize the ref count is also increased rather than decreased.
This one-liner patch changes the gst_allocator_ref() for gst_allocator_unref()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674011
Avoid pushing out buffers with the same timestamp only if the out buffers are
decoded from the same input buffer. Instead keep the timestamps when upstream
pushes consecutive buffers with the same ts.
Avoid pushing out buffers with the same timestamp only if the out buffers are
decoded from the same input buffer. Instead keep the timestamps when upstream
pushes consecutive buffers with the same ts.