[libdvbpsi-devel] dr_a1: remove dependency on function, dvbpsi_get_bits()
Michael Krufky
git at videolan.org
Tue Feb 4 11:21:59 CET 2014
libdvbpsi | branch: master | Michael Krufky <mkrufky at linuxtv.org> | Sun May 19 16:10:30 2013 -0400| [c09ed74bcd8303a32adb71962fd6a3dc15b9ac7f] | committer: Jean-Paul Saman
dr_a1: remove dependency on function, dvbpsi_get_bits()
Signed-off-by: Michael Krufky <mkrufky at linuxtv.org>
> http://git.videolan.org/gitweb.cgi/libdvbpsi.git/?a=commit;h=c09ed74bcd8303a32adb71962fd6a3dc15b9ac7f
---
src/descriptors/dr_a1.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/descriptors/dr_a1.c b/src/descriptors/dr_a1.c
index 7cac951..bb0c835 100644
--- a/src/descriptors/dr_a1.c
+++ b/src/descriptors/dr_a1.c
@@ -71,10 +71,10 @@ dvbpsi_service_location_dr_t * dvbpsi_DecodeServiceLocationDr(
p_descriptor->p_decoded = (void*)p_decoded;
- p_decoded->i_pcr_pid = dvbpsi_get_bits(buf, 3, 13);
- p_decoded->i_number_elements = dvbpsi_get_bits(buf, 16, 8);
+ p_decoded->i_pcr_pid = ((uint16_t)(buf[0] & 0x1f) << 8) | buf[1];
+ p_decoded->i_number_elements = buf[2];
- buf = &p_descriptor->p_data[3];
+ buf += 3;
for (int i = 0; i < p_decoded->i_number_elements; i++)
{
@@ -85,8 +85,8 @@ dvbpsi_service_location_dr_t * dvbpsi_DecodeServiceLocationDr(
memset(p_element, 0, sizeof(dvbpsi_service_location_element_t));
- p_element->i_stream_type = dvbpsi_get_bits(buf, 0, 8);
- p_element->i_elementary_pid = dvbpsi_get_bits(buf, 11, 13);
+ p_element->i_stream_type = buf[0];
+ p_element->i_elementary_pid = ((uint16_t)(buf[1] & 0x1f) << 8) | buf[2];
memcpy(p_element->i_iso_639_code, &buf[3], 3);
if (p_decoded->p_first_element == NULL)
More information about the libdvbpsi-devel
mailing list