Merge branch 'master' into 0.11

Conflicts:
	gst-libs/gst/rtp/gstbasertpdepayload.c
This commit is contained in:
Wim Taymans 2011-04-07 16:19:08 +02:00
commit 3ea2bc3ab0
4 changed files with 17 additions and 16 deletions

View file

@ -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

View file

@ -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;

View file

@ -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;

View file

@ -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;