mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
Merge branch 'master' into 0.11
Conflicts: gst-libs/gst/rtp/gstbasertpdepayload.c
This commit is contained in:
commit
3ea2bc3ab0
4 changed files with 17 additions and 16 deletions
|
@ -77,9 +77,20 @@ Telecine
|
|||
If the caps have interlaced=true and interlacing-method=telecine then the
|
||||
buffers are in some form of telecine state.
|
||||
|
||||
The TFF, RFF and ONEFIELD flags have the same semantics as for the plain
|
||||
interlaced state, however, for the telecine state require one additional flag to
|
||||
be able to identify progressive buffers.
|
||||
The TFF and ONEFIELD flags have the same semantics as for the plain interlaced
|
||||
state.
|
||||
|
||||
GST_VIDEO_BUFFER_RFF in the telecine state indicates that the buffer contains
|
||||
only repeated fields that are present in other buffers and are as such
|
||||
unneeded. For example, in a sequence of three telecined frames, we might have:
|
||||
|
||||
AtAb AtBb BtBb
|
||||
|
||||
In this situation, we only need the first and third buffers as the second
|
||||
buffer contains fields present in the first and third.
|
||||
|
||||
The telecine state require one additional flag to be able to identify
|
||||
progressive buffers.
|
||||
|
||||
GST_VIDEO_BUFFER_PROGRESSIVE means that the buffer containing two fields is a
|
||||
progressive frame. The implication is that if this flag is not set, the buffer
|
||||
|
|
|
@ -271,7 +271,7 @@ gst_base_rtp_depayload_chain (GstPad * pad, GstBuffer * in)
|
|||
GstClockTime timestamp;
|
||||
guint16 seqnum;
|
||||
guint32 rtptime;
|
||||
gboolean reset_seq, discont;
|
||||
gboolean discont;
|
||||
gint gap;
|
||||
GstRTPBuffer rtp;
|
||||
|
||||
|
@ -303,7 +303,6 @@ gst_base_rtp_depayload_chain (GstPad * pad, GstBuffer * in)
|
|||
rtptime = gst_rtp_buffer_get_timestamp (&rtp);
|
||||
gst_rtp_buffer_unmap (&rtp);
|
||||
|
||||
reset_seq = TRUE;
|
||||
discont = FALSE;
|
||||
|
||||
GST_LOG_OBJECT (filter, "discont %d, seqnum %u, rtptime %u, timestamp %"
|
||||
|
@ -551,11 +550,8 @@ static GstFlowReturn
|
|||
gst_base_rtp_depayload_prepare_push (GstBaseRTPDepayload * filter,
|
||||
gboolean do_ts, guint32 rtptime, gboolean is_list, gpointer obj)
|
||||
{
|
||||
GstBaseRTPDepayloadPrivate *priv;
|
||||
HeaderData data;
|
||||
|
||||
priv = filter->priv;
|
||||
|
||||
data.depayload = filter;
|
||||
data.caps = GST_PAD_CAPS (filter->srcpad);
|
||||
data.rtptime = rtptime;
|
||||
|
|
|
@ -1338,7 +1338,6 @@ gst_rtp_buffer_add_extension_onebyte_header (GstRTPBuffer * rtp, guint8 id,
|
|||
guint8 *pdata;
|
||||
guint wordlen;
|
||||
gboolean has_bit;
|
||||
guint bytelen;
|
||||
|
||||
g_return_val_if_fail (id > 0 && id < 15, FALSE);
|
||||
g_return_val_if_fail (size >= 1 && size <= 16, FALSE);
|
||||
|
@ -1347,8 +1346,6 @@ gst_rtp_buffer_add_extension_onebyte_header (GstRTPBuffer * rtp, guint8 id,
|
|||
has_bit = gst_rtp_buffer_get_extension_data (rtp, &bits,
|
||||
(gpointer) & pdata, &wordlen);
|
||||
|
||||
bytelen = wordlen * 4;
|
||||
|
||||
if (has_bit) {
|
||||
gulong offset = 0;
|
||||
guint8 *nextext;
|
||||
|
@ -1462,7 +1459,6 @@ gst_rtp_buffer_add_extension_twobytes_header (GstRTPBuffer * rtp,
|
|||
guint8 *pdata;
|
||||
guint wordlen;
|
||||
gboolean has_bit;
|
||||
guint bytelen;
|
||||
|
||||
g_return_val_if_fail ((appbits & 0xF0) == 0, FALSE);
|
||||
g_return_val_if_fail (size < 256, FALSE);
|
||||
|
@ -1471,8 +1467,6 @@ gst_rtp_buffer_add_extension_twobytes_header (GstRTPBuffer * rtp,
|
|||
has_bit = gst_rtp_buffer_get_extension_data (rtp, &bits,
|
||||
(gpointer) & pdata, &wordlen);
|
||||
|
||||
bytelen = wordlen * 4;
|
||||
|
||||
if (has_bit) {
|
||||
gulong offset = 0;
|
||||
guint8 *nextext;
|
||||
|
|
|
@ -707,14 +707,14 @@ gst_video_format_new_caps_raw (GstVideoFormat format)
|
|||
break;
|
||||
}
|
||||
|
||||
if (bpp > 8) {
|
||||
if (bpp <= 8) {
|
||||
caps = gst_caps_new_simple ("video/x-raw-gray",
|
||||
"bpp", G_TYPE_INT, bpp, "depth", G_TYPE_INT, depth, NULL);
|
||||
} else {
|
||||
caps = gst_caps_new_simple ("video/x-raw-gray",
|
||||
"bpp", G_TYPE_INT, bpp,
|
||||
"depth", G_TYPE_INT, depth,
|
||||
"endianness", G_TYPE_INT, G_BIG_ENDIAN, NULL);
|
||||
"endianness", G_TYPE_INT, endianness, NULL);
|
||||
}
|
||||
|
||||
return caps;
|
||||
|
|
Loading…
Reference in a new issue