summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2011-01-30 00:58:45 +0000
committerMichael Sevakis <jethead71@rockbox.org>2011-01-30 00:58:45 +0000
commit18770dac2e560c88daa3ca9944917be561c3548f (patch)
tree5adf8aef7cb7999a6e07ddefcbb9e1d9bf18a15c /apps
parentc0c769c5a86c56c2ab2c9e88515a64da98575182 (diff)
downloadrockbox-18770dac2e560c88daa3ca9944917be561c3548f.tar.gz
rockbox-18770dac2e560c88daa3ca9944917be561c3548f.zip
Use __builtin_constant_p() to select the best byteswapping method: constant or target optimized. Same macro can then be used for constant values and inits as well as non-constant.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29171 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/codecs/aiff_enc.c13
-rw-r--r--apps/codecs/libffmpegFLAC/shndec.c2
-rw-r--r--apps/codecs/wav_enc.c6
-rw-r--r--apps/codecs/wavpack_enc.c6
4 files changed, 15 insertions, 12 deletions
diff --git a/apps/codecs/aiff_enc.c b/apps/codecs/aiff_enc.c
index cfbc95196f..2d55dff755 100644
--- a/apps/codecs/aiff_enc.c
+++ b/apps/codecs/aiff_enc.c
@@ -56,15 +56,15 @@ struct aiff_header aiff_header =
56 0, /* form_size (*) */ 56 0, /* form_size (*) */
57 { 'A', 'I', 'F', 'F' }, /* aiff_id */ 57 { 'A', 'I', 'F', 'F' }, /* aiff_id */
58 { 'C', 'O', 'M', 'M' }, /* comm_id */ 58 { 'C', 'O', 'M', 'M' }, /* comm_id */
59 H_TO_BE32(18), /* comm_size */ 59 htobe32(18), /* comm_size */
60 0, /* num_channels (*) */ 60 0, /* num_channels (*) */
61 0, /* num_sample_frames (*) */ 61 0, /* num_sample_frames (*) */
62 H_TO_BE16(PCM_DEPTH_BITS), /* sample_size */ 62 htobe16(PCM_DEPTH_BITS), /* sample_size */
63 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* sample_rate (*) */ 63 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* sample_rate (*) */
64 { 'S', 'S', 'N', 'D' }, /* ssnd_id */ 64 { 'S', 'S', 'N', 'D' }, /* ssnd_id */
65 0, /* ssnd_size (*) */ 65 0, /* ssnd_size (*) */
66 H_TO_BE32(0), /* offset */ 66 htobe32(0), /* offset */
67 H_TO_BE32(0), /* block_size */ 67 htobe32(0), /* block_size */
68}; 68};
69 69
70/* (*) updated when finalizing file */ 70/* (*) updated when finalizing file */
@@ -96,7 +96,10 @@ STATICIRAM void uint32_h_to_ieee754_extended_be(uint8_t f[10], uint32_t l)
96 f[1] = (uint8_t)exp; 96 f[1] = (uint8_t)exp;
97 /* mantissa is value left justified with most significant non-zero 97 /* mantissa is value left justified with most significant non-zero
98 bit stored in bit 63 - bits 0-63 */ 98 bit stored in bit 63 - bits 0-63 */
99 *(uint32_t *)&f[2] = htobe32(l); 99 f[2] = (uint8_t)(l >> 24);
100 f[3] = (uint8_t)(l >> 16);
101 f[4] = (uint8_t)(l >> 8);
102 f[5] = (uint8_t)(l >> 0);
100} /* uint32_h_to_ieee754_extended_be */ 103} /* uint32_h_to_ieee754_extended_be */
101 104
102/* called version often - inline */ 105/* called version often - inline */
diff --git a/apps/codecs/libffmpegFLAC/shndec.c b/apps/codecs/libffmpegFLAC/shndec.c
index 78914f6252..40e7211b87 100644
--- a/apps/codecs/libffmpegFLAC/shndec.c
+++ b/apps/codecs/libffmpegFLAC/shndec.c
@@ -60,7 +60,7 @@
60#define get_le32(gb) bswap_32(get_bits_long(gb, 32)) 60#define get_le32(gb) bswap_32(get_bits_long(gb, 32))
61 61
62/* converts fourcc string to int */ 62/* converts fourcc string to int */
63static int ff_get_fourcc(const char *s){ 63static unsigned int ff_get_fourcc(const char *s){
64 //assert( strlen(s)==4 ); 64 //assert( strlen(s)==4 );
65 return (s[0]) + (s[1]<<8) + (s[2]<<16) + (s[3]<<24); 65 return (s[0]) + (s[1]<<8) + (s[2]<<16) + (s[3]<<24);
66} 66}
diff --git a/apps/codecs/wav_enc.c b/apps/codecs/wav_enc.c
index b11c3a2e99..193181d825 100644
--- a/apps/codecs/wav_enc.c
+++ b/apps/codecs/wav_enc.c
@@ -71,14 +71,14 @@ static const struct riff_header riff_header =
71 /* format header */ 71 /* format header */
72 { 'W', 'A', 'V', 'E' }, /* format */ 72 { 'W', 'A', 'V', 'E' }, /* format */
73 { 'f', 'm', 't', ' ' }, /* format_id */ 73 { 'f', 'm', 't', ' ' }, /* format_id */
74 H_TO_LE32(16), /* format_size */ 74 htole32(16), /* format_size */
75 /* format data */ 75 /* format data */
76 H_TO_LE16(1), /* audio_format */ 76 htole16(1), /* audio_format */
77 0, /* num_channels (*) */ 77 0, /* num_channels (*) */
78 0, /* sample_rate (*) */ 78 0, /* sample_rate (*) */
79 0, /* byte_rate (*) */ 79 0, /* byte_rate (*) */
80 0, /* block_align (*) */ 80 0, /* block_align (*) */
81 H_TO_LE16(PCM_DEPTH_BITS), /* bits_per_sample */ 81 htole16(PCM_DEPTH_BITS), /* bits_per_sample */
82 /* data header */ 82 /* data header */
83 { 'd', 'a', 't', 'a' }, /* data_id */ 83 { 'd', 'a', 't', 'a' }, /* data_id */
84 0 /* data_size (*) */ 84 0 /* data_size (*) */
diff --git a/apps/codecs/wavpack_enc.c b/apps/codecs/wavpack_enc.c
index 652a320546..66263cf1a1 100644
--- a/apps/codecs/wavpack_enc.c
+++ b/apps/codecs/wavpack_enc.c
@@ -85,14 +85,14 @@ static const struct riff_header riff_header =
85 /* format header */ 85 /* format header */
86 { 'W', 'A', 'V', 'E' }, /* format */ 86 { 'W', 'A', 'V', 'E' }, /* format */
87 { 'f', 'm', 't', ' ' }, /* format_id */ 87 { 'f', 'm', 't', ' ' }, /* format_id */
88 H_TO_LE32(16), /* format_size */ 88 htole32(16), /* format_size */
89 /* format data */ 89 /* format data */
90 H_TO_LE16(1), /* audio_format */ 90 htole16(1), /* audio_format */
91 0, /* num_channels (*) */ 91 0, /* num_channels (*) */
92 0, /* sample_rate (*) */ 92 0, /* sample_rate (*) */
93 0, /* byte_rate (*) */ 93 0, /* byte_rate (*) */
94 0, /* block_align (*) */ 94 0, /* block_align (*) */
95 H_TO_LE16(PCM_DEPTH_BITS), /* bits_per_sample */ 95 htole16(PCM_DEPTH_BITS), /* bits_per_sample */
96 /* data header */ 96 /* data header */
97 { 'd', 'a', 't', 'a' }, /* data_id */ 97 { 'd', 'a', 't', 'a' }, /* data_id */
98 0 /* data_size (*) */ 98 0 /* data_size (*) */