aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-h264.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2008-11-11 20:38:29 +0000
committerAnders Broman <anders.broman@ericsson.com>2008-11-11 20:38:29 +0000
commit23e9b1de65d95ab6e3685fa82bc73a242df06935 (patch)
tree52add58e4670ece104e0d5adaf1d13f7935ff42c /epan/dissectors/packet-h264.c
parent4c81fb806f6443ab6c8934f8c194db93546c436c (diff)
Add bitrate values to levels.
svn path=/trunk/; revision=26753
Diffstat (limited to 'epan/dissectors/packet-h264.c')
-rw-r--r--epan/dissectors/packet-h264.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/epan/dissectors/packet-h264.c b/epan/dissectors/packet-h264.c
index 8dfdf05e55..45ac4c1ccc 100644
--- a/epan/dissectors/packet-h264.c
+++ b/epan/dissectors/packet-h264.c
@@ -272,6 +272,25 @@ static const value_string h264_profile_idc_values[] = {
{ 0, NULL }
};
+static const value_string h264_level_bitrate_values[] = {
+ { 10, "64kb/s" },
+ { 11, "192kb/s" },
+ { 12, "384kb/s" },
+ { 13, "2 Mb/s" },
+ { 20, "2 Mb/s" },
+ { 21, "4 Mb/s" },
+ { 22, "4 Mb/s" },
+ { 30, "10 Mb/s" },
+ { 31, "14 Mb/s" },
+ { 32, "20 Mb/s" },
+ { 40, "20 Mb/s" },
+ { 41, "50 Mb/s" },
+ { 42, "50 Mb/s" },
+ { 50, "135 Mb/s" },
+ { 51, "240 Mb/s" },
+ { 0, NULL }
+};
+
static const value_string h264_nal_unit_type_vals[] = {
{ 0, "Unspecified" },
{ 1, "Coded slice of a non-IDR picture" },
@@ -971,9 +990,9 @@ dissect_h264_profile(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
level_idc = tvb_get_guint8(tvb,offset);
level_item = proto_tree_add_item(h264_profile_tree, hf_h264_level_idc, tvb, offset, 1, FALSE);
if((level_idc==11)&&(constraint_set3_flag==1)){
- proto_item_append_text(level_item," [Level 1b]");
+ proto_item_append_text(level_item," [Level 1b (128kb/s)]");
}else{
- proto_item_append_text(level_item," [Level %.1f]",((double)level_idc/10));
+ proto_item_append_text(level_item," [Level %.1f %s]",((double)level_idc/10),val_to_str(level_idc, h264_level_bitrate_values, "Unknown "));
}
}
@@ -1120,7 +1139,7 @@ dissect_h264_seq_parameter_set_rbsp(proto_tree *tree, tvbuff_t *tvb, packet_info
if((level_idc==11)&&(constraint_set3_flag==1)){
proto_item_append_text(level_item,"[Level 1b]");
}else{
- proto_item_append_text(level_item,"[Level %.1f]",((double)level_idc/10));
+ proto_item_append_text(level_item," [Level %.1f %s]",((double)level_idc/10),val_to_str(level_idc, h264_level_bitrate_values, "Unknown "));
}
offset++;
/* seq_parameter_set_id 0 ue(v)