[FFmpeg-cvslog] r15006 - trunk/libavformat/utils.c
rbultje
subversion
Thu Aug 28 14:00:58 CEST 2008
Author: rbultje
Date: Thu Aug 28 14:00:58 2008
New Revision: 15006
Log:
Change implementation for ff_data_to_hex(), this is faster. See discussion on
mailinglist in "Realmedia patch" thread.
Modified:
trunk/libavformat/utils.c
Modified: trunk/libavformat/utils.c
==============================================================================
--- trunk/libavformat/utils.c (original)
+++ trunk/libavformat/utils.c Thu Aug 28 14:00:58 2008
@@ -3213,22 +3213,17 @@ void url_split(char *proto, int proto_si
}
}
-static void digit_to_char(char *dst, uint8_t src)
-{
- if (src < 10) {
- *dst = '0' + src;
- } else {
- *dst = 'A' + src - 10;
- }
-}
-
char *ff_data_to_hex(char *buff, const uint8_t *src, int s)
{
int i;
+ static const char hex_table[16] = { '0', '1', '2', '3',
+ '4', '5', '6', '7',
+ '8', '9', 'A', 'B',
+ 'C', 'D', 'E', 'F' };
for(i = 0; i < s; i++) {
- digit_to_char(buff + 2 * i, src[i] >> 4);
- digit_to_char(buff + 2 * i + 1, src[i] & 0xF);
+ buff[i * 2] = hex_table[src[i] >> 4];
+ buff[i * 2 + 1] = hex_table[src[i] & 0xF];
}
return buff;
More information about the ffmpeg-cvslog
mailing list