[gst-cvs] gst-plugins-bad: ac3parse: Use unchecked versions of the bitreader get functions
Sebastian Dröge
slomo at kemper.freedesktop.org
Sun Oct 3 06:42:21 PDT 2010
Module: gst-plugins-bad
Branch: master
Commit: 4903e140e27008361871d1f8c725fdabbb0722c6
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=4903e140e27008361871d1f8c725fdabbb0722c6
Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date: Sun Oct 3 15:41:20 2010 +0200
ac3parse: Use unchecked versions of the bitreader get functions
We didn't check the return values anyway...
---
gst/audioparsers/gstac3parse.c | 46 ++++++++++++++++++++--------------------
1 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/gst/audioparsers/gstac3parse.c b/gst/audioparsers/gstac3parse.c
index 07fcd7d..a91e715 100644
--- a/gst/audioparsers/gstac3parse.c
+++ b/gst/audioparsers/gstac3parse.c
@@ -248,18 +248,18 @@ gst_ac3_parse_frame_header_ac3 (GstAc3Parse * ac3parse, GstBuffer * buf,
GstBitReader bits = GST_BIT_READER_INIT_FROM_BUFFER (buf);
guint8 fscod, frmsizcod, bsid, bsmod, acmod, lfe_on;
- gst_bit_reader_skip (&bits, 16 + 16);
- gst_bit_reader_get_bits_uint8 (&bits, &fscod, 2);
- gst_bit_reader_get_bits_uint8 (&bits, &frmsizcod, 6);
+ gst_bit_reader_skip_unchecked (&bits, 16 + 16);
+ fscod = gst_bit_reader_get_bits_uint8_unchecked (&bits, 2);
+ frmsizcod = gst_bit_reader_get_bits_uint8_unchecked (&bits, 6);
if (G_UNLIKELY (fscod == 3 || frmsizcod >= G_N_ELEMENTS (frmsizcod_table))) {
GST_DEBUG_OBJECT (ac3parse, "bad fscod=%d frmsizcod=%d", fscod, frmsizcod);
return FALSE;
}
- gst_bit_reader_get_bits_uint8 (&bits, &bsid, 5);
- gst_bit_reader_get_bits_uint8 (&bits, &bsmod, 3);
- gst_bit_reader_get_bits_uint8 (&bits, &acmod, 3);
+ bsid = gst_bit_reader_get_bits_uint8_unchecked (&bits, 5);
+ bsmod = gst_bit_reader_get_bits_uint8_unchecked (&bits, 3);
+ acmod = gst_bit_reader_get_bits_uint8_unchecked (&bits, 3);
/* FIXME: are other bsids ok as well? check spec */
if (bsid != 8 && bsid != 6) {
@@ -268,13 +268,13 @@ gst_ac3_parse_frame_header_ac3 (GstAc3Parse * ac3parse, GstBuffer * buf,
}
if ((acmod & 0x1) && (acmod != 0x1)) /* 3 front channels */
- gst_bit_reader_skip (&bits, 2);
+ gst_bit_reader_skip_unchecked (&bits, 2);
if ((acmod & 0x4)) /* if a surround channel exists */
- gst_bit_reader_skip (&bits, 2);
+ gst_bit_reader_skip_unchecked (&bits, 2);
if (acmod == 0x2) /* if in 2/0 mode */
- gst_bit_reader_skip (&bits, 2);
+ gst_bit_reader_skip_unchecked (&bits, 2);
- gst_bit_reader_get_bits_uint8 (&bits, &lfe_on, 1);
+ lfe_on = gst_bit_reader_get_bits_uint8_unchecked (&bits, 1);
if (frame_size)
*frame_size = frmsizcod_table[frmsizcod].frame_size[fscod] * 2;
@@ -298,18 +298,18 @@ gst_ac3_parse_frame_header_eac3 (GstAc3Parse * ac3parse, GstBuffer * buf,
guint16 frmsiz, sample_rate, blocks;
guint8 strmtyp, fscod, fscod2, acmod, lfe_on, strmid, numblkscod;
- gst_bit_reader_skip (&bits, 16 + 16);
- gst_bit_reader_get_bits_uint8 (&bits, &strmtyp, 2); /* strmtyp */
+ gst_bit_reader_skip_unchecked (&bits, 16 + 16);
+ strmtyp = gst_bit_reader_get_bits_uint8_unchecked (&bits, 2); /* strmtyp */
if (G_UNLIKELY (strmtyp == 3)) {
GST_DEBUG_OBJECT (ac3parse, "bad strmtyp %d", strmtyp);
return FALSE;
}
- gst_bit_reader_get_bits_uint8 (&bits, &strmid, 3); /* substreamid */
- gst_bit_reader_get_bits_uint16 (&bits, &frmsiz, 11); /* frmsiz */
- gst_bit_reader_get_bits_uint8 (&bits, &fscod, 2); /* fscod */
+ strmid = gst_bit_reader_get_bits_uint8_unchecked (&bits, 3); /* substreamid */
+ frmsiz = gst_bit_reader_get_bits_uint16_unchecked (&bits, 11); /* frmsiz */
+ fscod = gst_bit_reader_get_bits_uint8_unchecked (&bits, 2); /* fscod */
if (fscod == 3) {
- gst_bit_reader_get_bits_uint8 (&bits, &fscod2, 2); /* fscod2 */
+ fscod2 = gst_bit_reader_get_bits_uint8_unchecked (&bits, 2); /* fscod2 */
if (G_UNLIKELY (fscod2 == 3)) {
GST_DEBUG_OBJECT (ac3parse, "invalid fscod2");
return FALSE;
@@ -317,15 +317,15 @@ gst_ac3_parse_frame_header_eac3 (GstAc3Parse * ac3parse, GstBuffer * buf,
sample_rate = fscod_rates[fscod2] / 2;
blocks = 6;
} else {
- gst_bit_reader_get_bits_uint8 (&bits, &numblkscod, 2); /* numblkscod */
+ numblkscod = gst_bit_reader_get_bits_uint8_unchecked (&bits, 2); /* numblkscod */
sample_rate = fscod_rates[fscod];
blocks = numblks[numblkscod];
}
- gst_bit_reader_get_bits_uint8 (&bits, &acmod, 3); /* acmod */
- gst_bit_reader_get_bits_uint8 (&bits, &lfe_on, 1); /* lfeon */
+ acmod = gst_bit_reader_get_bits_uint8_unchecked (&bits, 3); /* acmod */
+ lfe_on = gst_bit_reader_get_bits_uint8_unchecked (&bits, 1); /* lfeon */
- gst_bit_reader_skip (&bits, 5); /* bsid */
+ gst_bit_reader_skip_unchecked (&bits, 5); /* bsid */
if (frame_size)
*frame_size = (frmsiz + 1) * 2;
@@ -351,9 +351,9 @@ gst_ac3_parse_frame_header (GstAc3Parse * parse, GstBuffer * buf,
GST_MEMDUMP_OBJECT (parse, "AC3 frame sync", GST_BUFFER_DATA (buf), 16);
- gst_bit_reader_get_bits_uint16 (&bits, &sync, 16);
- gst_bit_reader_skip (&bits, 16 + 8);
- gst_bit_reader_peek_bits_uint8 (&bits, &bsid, 5);
+ sync = gst_bit_reader_get_bits_uint16_unchecked (&bits, 16);
+ gst_bit_reader_skip_unchecked (&bits, 16 + 8);
+ bsid = gst_bit_reader_peek_bits_uint8_unchecked (&bits, 5);
if (G_UNLIKELY (sync != 0x0b77))
return FALSE;
More information about the Gstreamer-commits
mailing list