diff options
Diffstat (limited to 'gst/rtp/gstrtph263pay.c')
-rw-r--r-- | gst/rtp/gstrtph263pay.c | 270 |
1 files changed, 134 insertions, 136 deletions
diff --git a/gst/rtp/gstrtph263pay.c b/gst/rtp/gstrtph263pay.c index 074d76377..4e5085242 100644 --- a/gst/rtp/gstrtph263pay.c +++ b/gst/rtp/gstrtph263pay.c @@ -689,7 +689,7 @@ gst_rtp_h263_pay_gobfinder (GstRtpH263Pay * rtph263pay, range = (rtph263pay->data - current) + rtph263pay->available_data; - GST_DEBUG ("Searching for next GOB, data:%p, len:%u, payload_len:%p," + GST_DEBUG_OBJECT (rtph263pay, "Searching for next GOB, data:%p, len:%u, payload_len:%p," " current:%p, range:%u", rtph263pay->data, rtph263pay->available_data, boundry->end + 1, current, range); @@ -700,7 +700,7 @@ gst_rtp_h263_pay_gobfinder (GstRtpH263Pay * rtph263pay, for (i = 3; i < range - 3; i++) { if ((current[i] == 0x0) && (current[i + 1] == 0x0) && (current[i + 2] >> 7 == 0x1)) { - GST_LOG ("GOB end found at: %p start: %p len: %u", current + i - 1, + GST_LOG_OBJECT (rtph263pay, "GOB end found at: %p start: %p len: %u", current + i - 1, boundry->end + 1, (guint) (current + i - boundry->end + 2)); gst_rtp_h263_pay_boundry_init (boundry, boundry->end + 1, current + i - 1, 0, 0); @@ -709,7 +709,7 @@ gst_rtp_h263_pay_gobfinder (GstRtpH263Pay * rtph263pay, } } - GST_DEBUG ("Couldn't find any new GBSC in this frame, range:%u", range); + GST_DEBUG_OBJECT (rtph263pay, "Couldn't find any new GBSC in this frame, range:%u", range); gst_rtp_h263_pay_boundry_init (boundry, boundry->end + 1, (guint8 *) (rtph263pay->data + rtph263pay->available_data - 1), 0, 0); @@ -762,7 +762,7 @@ gst_rtp_h263_pay_gob_destroy (GstRtpH263PayGob * gob, guint ind) * decode MCBPC for I frames and return index in table or -1 if not found */ static gint -gst_rtp_h263_pay_decode_mcbpc_I (guint32 value) +gst_rtp_h263_pay_decode_mcbpc_I (GstRtpH263Pay * rtph263pay, guint32 value) { gint i; @@ -770,7 +770,7 @@ gst_rtp_h263_pay_decode_mcbpc_I (guint32 value) code = value >> 16; - GST_LOG ("value:0x%08x, code:0x%04x", value, code); + GST_TRACE_OBJECT (rtph263pay, "value:0x%08x, code:0x%04x", value, code); for (i = 0; i < MCBPC_I_LEN; i++) { if ((code & mcbpc_I[i][1]) == mcbpc_I[i][0]) { @@ -778,7 +778,7 @@ gst_rtp_h263_pay_decode_mcbpc_I (guint32 value) } } - GST_WARNING ("Couldn't find code, returning -1"); + GST_WARNING_OBJECT (rtph263pay, "Couldn't find code, returning -1"); return -1; } @@ -787,7 +787,7 @@ gst_rtp_h263_pay_decode_mcbpc_I (guint32 value) * decode MCBPC for P frames and return index in table or -1 if not found */ static gint -gst_rtp_h263_pay_decode_mcbpc_P (guint32 value) +gst_rtp_h263_pay_decode_mcbpc_P (GstRtpH263Pay * rtph263pay, guint32 value) { gint i; @@ -795,7 +795,7 @@ gst_rtp_h263_pay_decode_mcbpc_P (guint32 value) code = value >> 16; - GST_LOG ("value:0x%08x, code:0x%04x", value, code); + GST_TRACE_OBJECT (rtph263pay, "value:0x%08x, code:0x%04x", value, code); for (i = 0; i < MCBPC_P_LEN; i++) { if ((code & mcbpc_P[i][1]) == mcbpc_P[i][0]) { @@ -803,7 +803,7 @@ gst_rtp_h263_pay_decode_mcbpc_P (guint32 value) } } - GST_WARNING ("Couldn't find code, returning -1"); + GST_WARNING_OBJECT (rtph263pay, "Couldn't find code, returning -1"); return -1; } @@ -812,7 +812,7 @@ gst_rtp_h263_pay_decode_mcbpc_P (guint32 value) * decode CBPY and return index in table or -1 if not found */ static gint -gst_rtp_h263_pay_decode_cbpy (guint32 value, const guint8 cbpy_table[16][7]) +gst_rtp_h263_pay_decode_cbpy (GstRtpH263Pay * rtph263pay, guint32 value, const guint8 cbpy_table[16][7]) { gint i; @@ -820,7 +820,7 @@ gst_rtp_h263_pay_decode_cbpy (guint32 value, const guint8 cbpy_table[16][7]) code = value >> 24; - GST_LOG ("value:0x%08x, code:0x%04x", value, code); + GST_TRACE_OBJECT (rtph263pay, "value:0x%08x, code:0x%04x", value, code); for (i = 0; i < CBPY_LEN; i++) { if ((code & cbpy_table[i][1]) == cbpy_table[i][0]) { @@ -828,7 +828,7 @@ gst_rtp_h263_pay_decode_cbpy (guint32 value, const guint8 cbpy_table[16][7]) } } - GST_WARNING ("Couldn't find code, returning -1"); + GST_WARNING_OBJECT (rtph263pay, "Couldn't find code, returning -1"); return -1; } @@ -837,7 +837,7 @@ gst_rtp_h263_pay_decode_cbpy (guint32 value, const guint8 cbpy_table[16][7]) * decode MVD and return index in table or -1 if not found */ static gint -gst_rtp_h263_pay_decode_mvd (guint32 value) +gst_rtp_h263_pay_decode_mvd (GstRtpH263Pay * rtph263pay, guint32 value) { gint i; @@ -845,7 +845,7 @@ gst_rtp_h263_pay_decode_mvd (guint32 value) code = value >> 16; - GST_LOG ("value:0x%08x, code:0x%04x", value, code); + GST_TRACE_OBJECT (rtph263pay, "value:0x%08x, code:0x%04x", value, code); for (i = 0; i < MVD_LEN; i++) { if ((code & mvd[i][1]) == mvd[i][0]) { @@ -853,7 +853,7 @@ gst_rtp_h263_pay_decode_mvd (guint32 value) } } - GST_WARNING ("Couldn't find code, returning -1"); + GST_WARNING_OBJECT (rtph263pay, "Couldn't find code, returning -1"); return -1; } @@ -862,7 +862,7 @@ gst_rtp_h263_pay_decode_mvd (guint32 value) * decode TCOEF and return index in table or -1 if not found */ static gint -gst_rtp_h263_pay_decode_tcoef (guint32 value) +gst_rtp_h263_pay_decode_tcoef (GstRtpH263Pay * rtph263pay, guint32 value) { gint i; @@ -870,16 +870,16 @@ gst_rtp_h263_pay_decode_tcoef (guint32 value) code = value >> 16; - GST_LOG ("value:0x%08x, code:0x%04x", value, code); + GST_TRACE_OBJECT (rtph263pay, "value:0x%08x, code:0x%04x", value, code); for (i = 0; i < TCOEF_LEN; i++) { if ((code & tcoef[i][1]) == tcoef[i][0]) { - GST_LOG ("tcoef is %d", i); + GST_TRACE_OBJECT (rtph263pay, "tcoef is %d", i); return i; } } - GST_WARNING ("Couldn't find code, returning -1"); + GST_WARNING_OBJECT (rtph263pay, "Couldn't find code, returning -1"); return -1; } @@ -890,12 +890,12 @@ gst_rtp_h263_pay_decode_tcoef (guint32 value) */ static gint -gst_rtp_h263_pay_move_window_right (GstRtpH263PayContext * context, guint n, +gst_rtp_h263_pay_move_window_right (GstRtpH263Pay * rtph263pay, GstRtpH263PayContext * context, guint n, guint rest_bits, guint8 ** orig_data, guint8 ** data_end) { - GST_LOG - ("Moving window: 0x%08x from: %p for %d bits, rest_bits: %d, data_end %p", + GST_TRACE_OBJECT (rtph263pay, + "Moving window: 0x%08x from: %p for %d bits, rest_bits: %d, data_end %p", context->window, context->win_end, n, rest_bits, *data_end); if (n == 0) @@ -936,8 +936,8 @@ gst_rtp_h263_pay_move_window_right (GstRtpH263PayContext * context, guint n, *orig_data = context->win_end - 4; - GST_LOG - ("Window moved to %p with value: 0x%08x and orig_data: %p rest_bits: %d", + GST_TRACE_OBJECT (rtph263pay, + "Window moved to %p with value: 0x%08x and orig_data: %p rest_bits: %d", context->win_end, context->window, *orig_data, rest_bits); return rest_bits; } @@ -948,7 +948,7 @@ gst_rtp_h263_pay_move_window_right (GstRtpH263PayContext * context, guint n, * data must be placed on first MB byte */ static GstRtpH263PayMB * -gst_rtp_h263_pay_B_mbfinder (GstRtpH263PayContext * context, +gst_rtp_h263_pay_B_mbfinder (GstRtpH263Pay * rtph263pay, GstRtpH263PayContext * context, GstRtpH263PayGob * gob, GstRtpH263PayMB * macroblock, guint mba) { guint mb_type_index; @@ -967,11 +967,9 @@ gst_rtp_h263_pay_B_mbfinder (GstRtpH263PayContext * context, mac->sbit = 0; } - GST_LOG ("current_pos:%p, end:%p, rest_bits:%d, window:%x", + GST_LOG_OBJECT (rtph263pay, "current_pos:%p, end:%p, rest_bits:%d, window:0x%08x", mac->start, mac->end, macroblock->ebit, context->window); - GST_LOG ("Current pos after COD: %p", mac->end); - if (context->piclayer->ptype_pictype == 0) { //We have an I frame gint i; @@ -979,55 +977,55 @@ gst_rtp_h263_pay_B_mbfinder (GstRtpH263PayContext * context, guint ind; //Step 2 decode MCBPC I - mb_type_index = gst_rtp_h263_pay_decode_mcbpc_I (context->window); + mb_type_index = gst_rtp_h263_pay_decode_mcbpc_I (rtph263pay, context->window); - GST_LOG ("MCBPC index: %d", mb_type_index); + GST_TRACE_OBJECT (rtph263pay, "MCBPC index: %d", mb_type_index); if (mb_type_index == -1) { - GST_ERROR ("MB index shouldn't be -1 in window: %08x", context->window); + GST_ERROR_OBJECT (rtph263pay, "MB index shouldn't be -1 in window: %08x", context->window); goto beach; } mac->ebit = - gst_rtp_h263_pay_move_window_right (context, mcbpc_I[mb_type_index][2], + gst_rtp_h263_pay_move_window_right (rtph263pay, context, mcbpc_I[mb_type_index][2], mac->ebit, &mac->end, &gob->end); mac->mb_type = mcbpc_I[mb_type_index][5]; if (mb_type_index == 8) { - GST_LOG ("Stuffing skipping rest of MB header"); + GST_TRACE_OBJECT (rtph263pay, "Stuffing skipping rest of MB header"); return mac; } //Step 3 decode CBPY I - cbpy_type_index = gst_rtp_h263_pay_decode_cbpy (context->window, cbpy_I); + cbpy_type_index = gst_rtp_h263_pay_decode_cbpy (rtph263pay, context->window, cbpy_I); - GST_LOG ("CBPY index: %d", cbpy_type_index); + GST_TRACE_OBJECT (rtph263pay, "CBPY index: %d", cbpy_type_index); if (cbpy_type_index == -1) { - GST_ERROR ("CBPY index shouldn't be -1 in window: %08x", context->window); + GST_ERROR_OBJECT (rtph263pay, "CBPY index shouldn't be -1 in window: %08x", context->window); goto beach; } mac->ebit = - gst_rtp_h263_pay_move_window_right (context, cbpy_I[cbpy_type_index][2], + gst_rtp_h263_pay_move_window_right (rtph263pay, context, cbpy_I[cbpy_type_index][2], mac->ebit, &mac->end, &gob->end); //Step 4 decode rest of MB //MB type 1 and 4 have DQUANT - we store it for packaging purposes if (mcbpc_I[mb_type_index][5] == 4) { - GST_LOG ("Shifting DQUANT"); + GST_TRACE_OBJECT (rtph263pay, "Shifting DQUANT"); mac->quant = (context->window >> 30); mac->ebit = - gst_rtp_h263_pay_move_window_right (context, 2, mac->ebit, &mac->end, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, 2, mac->ebit, &mac->end, &gob->end); } //Step 5 go trough the blocks - decode DC and TCOEF last = 0; for (i = 0; i < N_BLOCKS; i++) { - GST_LOG ("Decoding INTRADC and TCOEF, i:%d", i); + GST_TRACE_OBJECT (rtph263pay, "Decoding INTRADC and TCOEF, i:%d", i); mac->ebit = - gst_rtp_h263_pay_move_window_right (context, 8, mac->ebit, &mac->end, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, 8, mac->ebit, &mac->end, &gob->end); if (i > 3) { @@ -1038,16 +1036,16 @@ gst_rtp_h263_pay_B_mbfinder (GstRtpH263PayContext * context, if (ind == 1) { while (last == 0) { - tcoef_type_index = gst_rtp_h263_pay_decode_tcoef (context->window); + tcoef_type_index = gst_rtp_h263_pay_decode_tcoef (rtph263pay, context->window); - GST_LOG ("TCOEF index: %d", tcoef_type_index); + GST_TRACE_OBJECT (rtph263pay, "TCOEF index: %d", tcoef_type_index); if (tcoef_type_index == -1) { - GST_ERROR ("TCOEF index shouldn't be -1 in window: %08x", + GST_ERROR_OBJECT (rtph263pay, "TCOEF index shouldn't be -1 in window: %08x", context->window); goto beach; } mac->ebit = - gst_rtp_h263_pay_move_window_right (context, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, tcoef[tcoef_type_index][2], mac->ebit, &mac->end, &gob->end); last = tcoef[tcoef_type_index][3]; @@ -1058,7 +1056,7 @@ gst_rtp_h263_pay_B_mbfinder (GstRtpH263PayContext * context, last = 0; mac->ebit = - gst_rtp_h263_pay_move_window_right (context, 15, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, 15, mac->ebit, &mac->end, &gob->end); } } @@ -1073,60 +1071,60 @@ gst_rtp_h263_pay_B_mbfinder (GstRtpH263PayContext * context, guint ind; //Step 1 check COD - GST_LOG ("Checking for COD"); + GST_TRACE_OBJECT (rtph263pay, "Checking for COD"); if ((context->window & 0x80000000) == 0x80000000) { //The MB is not coded mac->ebit = - gst_rtp_h263_pay_move_window_right (context, 1, mac->ebit, &mac->end, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, 1, mac->ebit, &mac->end, &gob->end); - GST_LOG ("COOOOOOOOOOOD = 1"); + GST_TRACE_OBJECT (rtph263pay, "COOOOOOOOOOOD = 1"); return mac; } else { //The MB is coded mac->ebit = - gst_rtp_h263_pay_move_window_right (context, 1, mac->ebit, &mac->end, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, 1, mac->ebit, &mac->end, &gob->end); } //Step 2 decode MCBPC P - mb_type_index = gst_rtp_h263_pay_decode_mcbpc_P (context->window); + mb_type_index = gst_rtp_h263_pay_decode_mcbpc_P (rtph263pay, context->window); - GST_LOG ("MCBPC index: %d", mb_type_index); + GST_TRACE_OBJECT (rtph263pay, "MCBPC index: %d", mb_type_index); if (mb_type_index == -1) { - GST_ERROR ("MB index shouldn't be -1 in window: %08x", context->window); + GST_ERROR_OBJECT (rtph263pay, "MB index shouldn't be -1 in window: %08x", context->window); goto beach; } mac->ebit = - gst_rtp_h263_pay_move_window_right (context, mcbpc_P[mb_type_index][2], + gst_rtp_h263_pay_move_window_right (rtph263pay, context, mcbpc_P[mb_type_index][2], mac->ebit, &mac->end, &gob->end); mac->mb_type = mcbpc_P[mb_type_index][5]; if (mb_type_index == 20) { - GST_LOG ("Stuffing skipping rest of MB header"); + GST_TRACE_OBJECT (rtph263pay, "Stuffing skipping rest of MB header"); return mac; } //Step 3 decode CBPY P - cbpy_type_index = gst_rtp_h263_pay_decode_cbpy (context->window, cbpy_P); + cbpy_type_index = gst_rtp_h263_pay_decode_cbpy (rtph263pay, context->window, cbpy_P); - GST_LOG ("CBPY index: %d", cbpy_type_index); + GST_TRACE_OBJECT (rtph263pay, "CBPY index: %d", cbpy_type_index); if (cbpy_type_index == -1) { - GST_ERROR ("CBPY index shouldn't be -1 in window: %08x", context->window); + GST_ERROR_OBJECT (rtph263pay, "CBPY index shouldn't be -1 in window: %08x", context->window); goto beach; } mac->ebit = - gst_rtp_h263_pay_move_window_right (context, cbpy_P[cbpy_type_index][2], + gst_rtp_h263_pay_move_window_right (rtph263pay, context, cbpy_P[cbpy_type_index][2], mac->ebit, &mac->end, &gob->end); //MB type 1 and 4 have DQUANT - we add it to MB object and jump over if (mcbpc_P[mb_type_index][5] == 4 || mcbpc_P[mb_type_index][5] == 1) { - GST_LOG ("Shifting DQUANT"); + GST_TRACE_OBJECT (rtph263pay, "Shifting DQUANT"); mac->quant = context->window >> 30; mac->ebit = - gst_rtp_h263_pay_move_window_right (context, 2, mac->ebit, &mac->end, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, 2, mac->ebit, &mac->end, &gob->end); } //MB types < 3 have MVD1-4 @@ -1142,10 +1140,10 @@ gst_rtp_h263_pay_B_mbfinder (GstRtpH263PayContext * context, for (j = 0; j < nmvd; j++) { guint mvd_type; - mvd_type = gst_rtp_h263_pay_decode_mvd (context->window); + mvd_type = gst_rtp_h263_pay_decode_mvd (rtph263pay, context->window); if (mvd_type == -1) { - GST_ERROR ("MVD1-4 index shouldn't be -1 in window: %08x", + GST_ERROR_OBJECT (rtph263pay, "MVD1-4 index shouldn't be -1 in window: %08x", context->window); goto beach; } @@ -1153,7 +1151,7 @@ gst_rtp_h263_pay_B_mbfinder (GstRtpH263PayContext * context, mac->mvd[j] = mvd[mvd_type][3]; mac->ebit = - gst_rtp_h263_pay_move_window_right (context, mvd[mvd_type][2], + gst_rtp_h263_pay_move_window_right (rtph263pay, context, mvd[mvd_type][2], mac->ebit, &mac->end, &gob->end); } @@ -1165,12 +1163,12 @@ gst_rtp_h263_pay_B_mbfinder (GstRtpH263PayContext * context, //if MB type 3 or 4 then INTRADC coef are present in blocks if (mcbpc_P[mb_type_index][5] > 2) { - GST_LOG ("INTRADC coef: %d", i); + GST_TRACE_OBJECT (rtph263pay, "INTRADC coef: %d", i); mac->ebit = - gst_rtp_h263_pay_move_window_right (context, 8, mac->ebit, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, 8, mac->ebit, &mac->end, &gob->end); } else { - GST_LOG ("INTRADC coef is not present"); + GST_TRACE_OBJECT (rtph263pay, "INTRADC coef is not present"); } //check if the block has TCOEF @@ -1186,17 +1184,17 @@ gst_rtp_h263_pay_B_mbfinder (GstRtpH263PayContext * context, if (ind == 1) { while (last == 0) { - tcoef_type_index = gst_rtp_h263_pay_decode_tcoef (context->window); + tcoef_type_index = gst_rtp_h263_pay_decode_tcoef (rtph263pay, context->window); - GST_LOG ("TCOEF index: %d", tcoef_type_index); + GST_TRACE_OBJECT (rtph263pay, "TCOEF index: %d", tcoef_type_index); if (tcoef_type_index == -1) { - GST_ERROR ("TCOEF index shouldn't be -1 in window: %08x", + GST_ERROR_OBJECT (rtph263pay, "TCOEF index shouldn't be -1 in window: %08x", context->window); goto beach; } mac->ebit = - gst_rtp_h263_pay_move_window_right (context, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, tcoef[tcoef_type_index][2], mac->ebit, &mac->end, &gob->end); last = tcoef[tcoef_type_index][3]; @@ -1207,7 +1205,7 @@ gst_rtp_h263_pay_B_mbfinder (GstRtpH263PayContext * context, last = 0; mac->ebit = - gst_rtp_h263_pay_move_window_right (context, 15, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, 15, mac->ebit, &mac->end, &gob->end); } } @@ -1272,11 +1270,11 @@ gst_rtp_h263_pay_push (GstRtpH263Pay * rtph263pay, switch (package->mode) { case GST_RTP_H263_PAYLOAD_HEADER_MODE_A: - GST_LOG ("Pushing A packet"); + GST_LOG_OBJECT (rtph263pay, "Pushing A packet"); gst_rtp_h263_pay_splat_header_A (header, package, context->piclayer); break; case GST_RTP_H263_PAYLOAD_HEADER_MODE_B: - GST_LOG ("Pushing B packet"); + GST_LOG_OBJECT (rtph263pay, "Pushing B packet"); gst_rtp_h263_pay_splat_header_B (header, package, context->piclayer); break; case GST_RTP_H263_PAYLOAD_HEADER_MODE_C: @@ -1293,14 +1291,14 @@ gst_rtp_h263_pay_push (GstRtpH263Pay * rtph263pay, gst_rtp_buffer_set_marker (&rtp, package->marker); if (package->marker) - GST_DEBUG ("Marker set!"); + GST_DEBUG_OBJECT (rtph263pay, "Marker set!"); gst_rtp_buffer_unmap (&rtp); /* * Copy the payload data in the buffer */ - GST_DEBUG ("Copying memory"); + GST_DEBUG_OBJECT (rtph263pay, "Copying memory"); gst_buffer_copy_into (package->outbuf, rtph263pay->current_buffer, GST_BUFFER_COPY_MEMORY, package->payload_start - rtph263pay->map.data, package->payload_len); @@ -1311,7 +1309,7 @@ gst_rtp_h263_pay_push (GstRtpH263Pay * rtph263pay, ret = gst_rtp_base_payload_push (GST_RTP_BASE_PAYLOAD (rtph263pay), package->outbuf); - GST_DEBUG ("Package pushed, returning"); + GST_DEBUG_OBJECT (rtph263pay, "Package pushed, returning"); gst_rtp_h263_pay_package_destroy (package); @@ -1342,7 +1340,7 @@ gst_rtp_h263_pay_A_fragment_push (GstRtpH263Pay * rtph263pay, pack->mode = GST_RTP_H263_PAYLOAD_HEADER_MODE_A; pack->outbuf = gst_rtp_buffer_new_allocate (pack->mode, 0, 0); - GST_DEBUG ("Sending len:%d data to push function", pack->payload_len); + GST_DEBUG_OBJECT (rtph263pay, "Sending len:%d data to push function", pack->payload_len); return gst_rtp_h263_pay_push (rtph263pay, context, pack); } @@ -1428,24 +1426,24 @@ gst_rtp_h263_pay_mode_B_fragment (GstRtpH263Pay * rtph263pay, (GstRtpH263PayMB **) g_malloc0 (sizeof (GstRtpH263PayMB *) * format_props[context->piclayer->ptype_srcformat][1]); - GST_LOG ("GOB isn't PB frame, applying mode B"); + GST_LOG_OBJECT (rtph263pay, "GOB isn't PB frame, applying mode B"); //initializing window context->win_end = boundry.end; - if (gst_rtp_h263_pay_move_window_right (context, 32, boundry.ebit, + if (gst_rtp_h263_pay_move_window_right (rtph263pay, context, 32, boundry.ebit, &boundry.end, &gob->end) != 0) { - GST_ERROR - ("The rest of the bits should be 0, exiting, because something bad happend"); + GST_ERROR_OBJECT (rtph263pay, + "The rest of the bits should be 0, exiting, because something bad happend"); goto decode_error; } //The first GOB of a frame "has no" actual header - PICTURE header is his header if (gob->gobn == 0) { guint shift; - GST_LOG ("Initial GOB"); + GST_LOG_OBJECT (rtph263pay, "Initial GOB"); shift = 43; boundry.ebit = - gst_rtp_h263_pay_move_window_right (context, shift, boundry.ebit, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, shift, boundry.ebit, &boundry.end, &gob->end); //We need PQUANT for mode B packages - so we store it @@ -1457,37 +1455,37 @@ gst_rtp_h263_pay_mode_B_fragment (GstRtpH263Pay * rtph263pay, if (context->cpm == 1) shift += 2; boundry.ebit = - gst_rtp_h263_pay_move_window_right (context, shift, boundry.ebit, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, shift, boundry.ebit, &boundry.end, &gob->end); - GST_DEBUG ("window: 0x%08x", context->window); + GST_TRACE_OBJECT (rtph263pay, "window: 0x%08x", context->window); //Shifting the PEI and PSPARE fields while ((context->window & 0x80000000) == 0x80000000) { boundry.ebit = - gst_rtp_h263_pay_move_window_right (context, 9, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, 9, boundry.ebit, &boundry.end, &gob->end); - GST_LOG ("window: 0x%x", context->window); + GST_TRACE_OBJECT (rtph263pay, "window: 0x%08x", context->window); } //shift the last PEI field boundry.ebit = - gst_rtp_h263_pay_move_window_right (context, 1, boundry.ebit, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, 1, boundry.ebit, &boundry.end, &gob->end); } else { //skipping GOBs 24 header bits + 5 GQUANT guint shift = 24; - GST_LOG ("INTER GOB"); + GST_TRACE_OBJECT (rtph263pay, "INTER GOB"); //if CPM == 1, there are 2 more bits in the header - GSBI header is 31 bits long if (context->cpm == 1) shift += 2; - GST_LOG ("window: 0x%x", context->window); + GST_TRACE_OBJECT (rtph263pay, "window: 0x%08x", context->window); boundry.ebit = - gst_rtp_h263_pay_move_window_right (context, shift, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, shift, boundry.ebit, &boundry.end, &gob->end); //We need GQUANT for mode B packages - so we store it @@ -1495,27 +1493,27 @@ gst_rtp_h263_pay_mode_B_fragment (GstRtpH263Pay * rtph263pay, shift = 5; boundry.ebit = - gst_rtp_h263_pay_move_window_right (context, shift, + gst_rtp_h263_pay_move_window_right (rtph263pay, context, shift, boundry.ebit, &boundry.end, &gob->end); - GST_LOG ("window: 0x%x", context->window); + GST_TRACE_OBJECT (rtph263pay, "window: 0x%08x", context->window); } - GST_DEBUG ("GQUANT IS: %08x", gob->quant); + GST_TRACE_OBJECT (rtph263pay, "GQUANT IS: %08x", gob->quant); // We are on MB layer mac = mac0 = gst_rtp_h263_pay_mb_new (&boundry, 0); for (mb = 0; mb < format_props[context->piclayer->ptype_srcformat][1]; mb++) { - GST_LOG ("================ START MB %d =================", mb); + GST_TRACE_OBJECT (rtph263pay, "================ START MB %d =================", mb); //Find next macroblock boundaries ebit = mac->ebit; - if (!(mac = gst_rtp_h263_pay_B_mbfinder (context, gob, mac, mb))) { + if (!(mac = gst_rtp_h263_pay_B_mbfinder (rtph263pay, context, gob, mac, mb))) { - GST_LOG ("Error decoding MB - sbit: %d", 8 - ebit); - GST_ERROR ("Error decoding in GOB"); + GST_LOG_OBJECT (rtph263pay, "Error decoding MB - sbit: %d", 8 - ebit); + GST_ERROR_OBJECT (rtph263pay, "Error decoding in GOB"); gst_rtp_h263_pay_mb_destroy (mac0); goto decode_error; @@ -1534,23 +1532,23 @@ gst_rtp_h263_pay_mode_B_fragment (GstRtpH263Pay * rtph263pay, } if (mac->end >= gob->end) { - GST_LOG ("No more MBs in this GOB"); + GST_LOG_OBJECT (rtph263pay, "No more MBs in this GOB"); if (!mac->ebit) { mac->end--; } gob->end = mac->end; break; } - GST_DEBUG ("Found MB: mba: %d start: %p end: %p len: %d sbit: %d ebit: %d", + GST_DEBUG_OBJECT (rtph263pay, "Found MB: mba: %d start: %p end: %p len: %d sbit: %d ebit: %d", mac->mba, mac->start, mac->end, mac->length, mac->sbit, mac->ebit); - GST_LOG ("================ END MB %d =================", mb); + GST_TRACE_OBJECT (rtph263pay, "================ END MB %d =================", mb); } gst_rtp_h263_pay_mb_destroy (mac0); mb = 0; first = 0; payload_len = boundry.end - boundry.start + 1; - GST_DEBUG ("------------------------- NEW PACKAGE ----------------------"); + GST_DEBUG_OBJECT (rtph263pay, "------------------------- NEW PACKAGE ----------------------"); while (mb < gob->nmacroblocs) { if (payload_len + gob->macroblocks[mb]->length < max_payload_size) { @@ -1560,33 +1558,33 @@ gst_rtp_h263_pay_mode_B_fragment (GstRtpH263Pay * rtph263pay, } else { //FIXME: we should include the last few bits of the GOB in the package - do we do that now? - //GST_DEBUG ("Pushing GOBS %d to %d because payload size is %d", first, + //GST_DEBUG_OBJECT (rtph263pay, "Pushing GOBS %d to %d because payload size is %d", first, // first == mb - 1, payload_len); // FIXME: segfault if mb == 0 (first MB is larger than max_payload_size) - GST_DEBUG ("Push B mode fragment from mb %d to %d", first, mb - 1); + GST_DEBUG_OBJECT (rtph263pay, "Push B mode fragment from mb %d to %d", first, mb - 1); if (gst_rtp_h263_pay_B_fragment_push (rtph263pay, context, gob, first, mb - 1, &boundry)) { - GST_ERROR ("Oooops, there was an error sending"); + GST_ERROR_OBJECT (rtph263pay, "Oooops, there was an error sending"); goto decode_error; } payload_len = 0; first = mb; - GST_DEBUG - ("------------------------- END PACKAGE ----------------------"); - GST_DEBUG - ("------------------------- NEW PACKAGE ----------------------"); + GST_DEBUG_OBJECT (rtph263pay, + "------------------------- END PACKAGE ----------------------"); + GST_DEBUG_OBJECT (rtph263pay, + "------------------------- NEW PACKAGE ----------------------"); } } /* Push rest */ - GST_DEBUG ("Remainder first: %d, MB: %d", first, mb); + GST_DEBUG_OBJECT (rtph263pay, "Remainder first: %d, MB: %d", first, mb); if (payload_len != 0) { - GST_DEBUG ("Push B mode fragment from mb %d to %d", first, mb - 1); + GST_DEBUG_OBJECT (rtph263pay, "Push B mode fragment from mb %d to %d", first, mb - 1); if (gst_rtp_h263_pay_B_fragment_push (rtph263pay, context, gob, first, mb - 1, &boundry)) { - GST_ERROR ("Oooops, there was an error sending!"); + GST_ERROR_OBJECT (rtph263pay, "Oooops, there was an error sending!"); goto decode_error; } } @@ -1610,7 +1608,7 @@ gst_rtp_h263_send_entire_frame (GstRtpH263Pay * rtph263pay, rtph263pay->available_data, 0, 0, NULL, TRUE); pack->mode = GST_RTP_H263_PAYLOAD_HEADER_MODE_A; - GST_DEBUG ("Available data: %d", rtph263pay->available_data); + GST_DEBUG_OBJECT (rtph263pay, "Available data: %d", rtph263pay->available_data); pack->outbuf = gst_rtp_buffer_new_allocate (GST_RTP_H263_PAYLOAD_HEADER_MODE_A, 0, 0); @@ -1637,7 +1635,7 @@ gst_rtp_h263_pay_flush (GstRtpH263Pay * rtph263pay) rtph263pay->payload.mtu - (MTU_SECURITY_OFFSET + GST_RTP_HEADER_LEN + GST_RTP_H263_PAYLOAD_HEADER_MODE_C); - GST_DEBUG ("MTU: %d", context->mtu); + GST_DEBUG_OBJECT (rtph263pay, "MTU: %d", context->mtu); rtph263pay->available_data = gst_buffer_get_size (rtph263pay->current_buffer); if (rtph263pay->available_data == 0) { ret = GST_FLOW_OK; @@ -1652,15 +1650,15 @@ gst_rtp_h263_pay_flush (GstRtpH263Pay * rtph263pay) context->piclayer = (GstRtpH263PayPic *) rtph263pay->data; if (context->piclayer->ptype_pictype == 0) - GST_DEBUG ("We got an I-frame"); + GST_DEBUG_OBJECT (rtph263pay, "We got an I-frame"); else - GST_DEBUG ("We got a P-frame"); + GST_DEBUG_OBJECT (rtph263pay, "We got a P-frame"); context->cpm = rtph263pay->data[6] >> 7; - GST_DEBUG ("CPM: %d", context->cpm); + GST_DEBUG_OBJECT (rtph263pay, "CPM: %d", context->cpm); - GST_DEBUG ("Payload length is: %d", rtph263pay->available_data); + GST_DEBUG_OBJECT (rtph263pay, "Payload length is: %d", rtph263pay->available_data); /* * - MODE A - If normal, I and P frames, -> mode A @@ -1681,7 +1679,7 @@ gst_rtp_h263_pay_flush (GstRtpH263Pay * rtph263pay) guint payload_len; gboolean forcea = FALSE; - GST_DEBUG ("Frame too large for MTU"); + GST_DEBUG_OBJECT (rtph263pay, "Frame too large for MTU"); /* * Let's go trough all the data and fragment it untill end is reached */ @@ -1693,11 +1691,11 @@ gst_rtp_h263_pay_flush (GstRtpH263Pay * rtph263pay) for (i = 0; i < format_props[context->piclayer->ptype_srcformat][0]; i++) { - GST_DEBUG ("Searching for gob %d", i); + GST_DEBUG_OBJECT (rtph263pay, "Searching for gob %d", i); if (!gst_rtp_h263_pay_gobfinder (rtph263pay, &bound)) { if (i <= 1) { - GST_WARNING - ("No GOB's were found in data stream! Please enable RTP mode in encoder. Forcing mode A for now."); + GST_WARNING_OBJECT (rtph263pay, + "No GOB's were found in data stream! Please enable RTP mode in encoder. Forcing mode A for now."); ret = gst_rtp_h263_send_entire_frame (rtph263pay, context); goto end; } else { @@ -1709,14 +1707,14 @@ gst_rtp_h263_pay_flush (GstRtpH263Pay * rtph263pay) context->gobs[i] = gst_rtp_h263_pay_gob_new (&bound, i); //FIXME - encoders may generate an EOS gob that has to be processed - GST_DEBUG - ("Gob values are: gobn: %d, start: %p len: %d ebit: %d sbit: %d", i, + GST_DEBUG_OBJECT (rtph263pay, + "Gob values are: gobn: %d, start: %p len: %d ebit: %d sbit: %d", i, context->gobs[i]->start, context->gobs[i]->length, context->gobs[i]->ebit, context->gobs[i]->sbit); } /* NOTE some places may still assume this to be the max possible */ context->no_gobs = i; - GST_DEBUG ("Found %d GOBS of maximum %d", + GST_DEBUG_OBJECT (rtph263pay, "Found %d GOBS of maximum %d", context->no_gobs, format_props[context->piclayer->ptype_srcformat][0]); // Make packages smaller than MTU @@ -1732,22 +1730,22 @@ gst_rtp_h263_pay_flush (GstRtpH263Pay * rtph263pay) if (context->gobs[i]->length >= context->mtu) { if (payload_len == 0) { - GST_DEBUG ("GOB len > MTU"); + GST_DEBUG_OBJECT (rtph263pay, "GOB len > MTU"); if (rtph263pay->prop_payload_mode || forcea) { payload_len = context->gobs[i]->length; goto force_a; } if (!context->piclayer->ptype_pbmode) { - GST_DEBUG ("MODE B on GOB %d needed", i); + GST_DEBUG_OBJECT (rtph263pay, "MODE B on GOB %d needed", i); if (!gst_rtp_h263_pay_mode_B_fragment (rtph263pay, context, context->gobs[i])) { - GST_ERROR ("There was an error fragmenting in mode B"); + GST_ERROR_OBJECT (rtph263pay, "There was an error fragmenting in mode B"); ret = GST_FLOW_ERROR; goto end; } } else { //IMPLEMENT C mode - GST_ERROR ("MODE C on GOB %d needed, but not supported yet", i); + GST_ERROR_OBJECT (rtph263pay, "MODE C on GOB %d needed, but not supported yet", i); /*if(!gst_rtp_h263_pay_mode_C_fragment(rtph263pay, context, context->gobs[i])) { ret = GST_FLOW_OK; GST_ERROR("There was an error fragmenting in mode C"); @@ -1766,17 +1764,17 @@ gst_rtp_h263_pay_flush (GstRtpH263Pay * rtph263pay) } if (payload_len + context->gobs[i]->length < context->mtu) { - GST_DEBUG ("GOB %d fills mtu", i); + GST_DEBUG_OBJECT (rtph263pay, "GOB %d fills mtu", i); payload_len += context->gobs[i]->length; i++; if (i == context->no_gobs) { - GST_DEBUG ("LAST GOB %d", i); + GST_DEBUG_OBJECT (rtph263pay, "LAST GOB %d", i); goto payload_a_push; } } else { payload_a_push: - GST_DEBUG ("Pushing GOBS %d to %d because payload size is %d", first, + GST_DEBUG_OBJECT (rtph263pay, "Pushing GOBS %d to %d because payload size is %d", first, first == i ? i : i - 1, payload_len); gst_rtp_h263_pay_A_fragment_push (rtph263pay, context, first, first == i ? i : i - 1); @@ -1786,7 +1784,7 @@ gst_rtp_h263_pay_flush (GstRtpH263Pay * rtph263pay) continue; force_a: - GST_DEBUG ("Pushing GOBS %d to %d because payload size is %d", first, i, + GST_DEBUG_OBJECT (rtph263pay, "Pushing GOBS %d to %d because payload size is %d", first, i, payload_len); gst_rtp_h263_pay_A_fragment_push (rtph263pay, context, first, i); payload_len = 0; @@ -1815,8 +1813,8 @@ gst_rtp_h263_pay_handle_buffer (GstRTPBasePayload * payload, GstBuffer * buffer) GstRtpH263Pay *rtph263pay; GstFlowReturn ret; - GST_DEBUG ("-------------------- NEW FRAME ---------------"); rtph263pay = GST_RTP_H263_PAY (payload); + GST_DEBUG_OBJECT (rtph263pay, "-------------------- NEW FRAME ---------------"); rtph263pay->first_ts = GST_BUFFER_PTS (buffer); @@ -1825,7 +1823,7 @@ gst_rtp_h263_pay_handle_buffer (GstRTPBasePayload * payload, GstBuffer * buffer) /* we always encode and flush a full picture */ ret = gst_rtp_h263_pay_flush (rtph263pay); - GST_DEBUG ("-------------------- END FRAME ---------------"); + GST_DEBUG_OBJECT (rtph263pay, "-------------------- END FRAME ---------------"); return ret; } |