[PATCH] h.263 GOB number dissection

Richard van der Hoff <[email protected]>
Newsgroups gmane.network.ethereal.devel
Message-ID <[email protected]>
Hi,

The attached patch makes the h.263 dissector dissect the group-of-block 
number which comes after a GOB start code.

Cheers,

Richard

-- 
Richard van der Hoff <[email protected]>
Project Manager
Tel: +44 (0) 845 666 7778
http://www.mxtelecom.com

_______________________________________________
Ethereal-dev mailing list
[email protected]
http://www.ethereal.com/mailman/listinfo/ethereal-dev
h263.patch (text/x-patch, 2 KB)
Index: epan/dissectors/packet-h263.c
===================================================================
RCS file: /cvs/ethereal/epan/dissectors/packet-h263.c,v
retrieving revision 1.1.1.4
retrieving revision 1.4
diff -u -r1.1.1.4 -r1.4
--- epan/dissectors/packet-h263.c	4 Oct 2005 11:53:51 -0000	1.1.1.4
+++ epan/dissectors/packet-h263.c	23 Nov 2005 16:08:16 -0000	1.4
@@ -91,6 +91,7 @@
 static int hf_h263_PB_frames_mode = -1;
 static int hf_h263_data        = -1;
 static int hf_h263_payload     = -1;
+static int hf_h263_GN          = -1;
 
 /* Source format types */
 #define SRCFORMAT_FORB   0  /* forbidden */
@@ -301,7 +302,7 @@
 	data = tvb_get_ntohl(tvb, offset);
 	
 	if (( data & 0xffff8000) == 0x00008000 ) { /* PSC or Group of Block Start Code (GBSC) found */
-		if (( data & 0xfffffc00) == 0x00008000 ) { /* PSC found */
+		if (( data & 0x00007c00) == 0 ) { /* PSC found */
 			if ( check_col( pinfo->cinfo, COL_INFO) )
 			  col_append_str( pinfo->cinfo, COL_INFO, "(PSC) ");
 			if( tree ) {
@@ -339,7 +340,7 @@
 				  proto_tree_add_item( h263_payload_tree, hf_h263_PB_frames_mode, tvb, offset, 1, FALSE );
 			  }
 			}
-		}else if ((data & 0x00007c00)!= 0) { /* GBSC found */
+		} else { /* GBSC found */
 			if ( check_col( pinfo->cinfo, COL_INFO) )
 			  col_append_str( pinfo->cinfo, COL_INFO, "(GBSC) ");
 			if( tree ) {
@@ -350,6 +351,11 @@
 				 *
 				 */
 				proto_tree_add_uint(h263_payload_tree, hf_h263_gbsc,tvb, offset,3,data);
+ 				proto_tree_add_uint(h263_payload_tree, hf_h263_GN, tvb, offset,3,data);
+				/* GN is followed by (optionally) GBSI, then
+				 * GFID and GQUANT, but decoding them requires
+				 * knowing the value of CPM in the picture
+				 * header */
 				offset = offset + 2;
 			}
 		}
@@ -782,7 +788,18 @@
 				"Optional PB-frames mode", HFILL
 			}
 		},
-
+		{
+			&hf_h263_GN,
+			{
+				"H.263 Group Number",
+				"h263.gn",
+				FT_UINT32,
+				BASE_DEC,
+				NULL,
+				0x00007c00,
+				"Group Number, GN", HFILL
+			}
+		},
 };
 
 	static gint *ett[] =
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.