forked from len0rd/rockbox
Use MEM_ALIGN_ATTR in mpc codec. Speed up by 22-24% was measured on ARM11.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28627 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
e5b1a7d423
commit
0dbc4a6cae
2 changed files with 6 additions and 5 deletions
|
@ -62,10 +62,10 @@ extern const mpc_can_data mpc_can_Q9up;
|
||||||
|
|
||||||
//Decoder globals (g_Y_L and g_Y_R do not fit into iram for all targets)
|
//Decoder globals (g_Y_L and g_Y_R do not fit into iram for all targets)
|
||||||
static mpc_decoder g_mpc_decoder IBSS_ATTR;
|
static mpc_decoder g_mpc_decoder IBSS_ATTR;
|
||||||
static MPC_SAMPLE_FORMAT g_V_L[MPC_V_MEM + 960 ] IBSS_ATTR __attribute__((aligned(16)));
|
static MPC_SAMPLE_FORMAT g_V_L[MPC_V_MEM + 960 ] IBSS_ATTR MEM_ALIGN_ATTR;
|
||||||
static MPC_SAMPLE_FORMAT g_Y_L[MPC_FRAME_LENGTH] IBSS_ATTR_MPC_LARGE_IRAM __attribute__((aligned(16)));
|
static MPC_SAMPLE_FORMAT g_Y_L[MPC_FRAME_LENGTH] IBSS_ATTR_MPC_LARGE_IRAM MEM_ALIGN_ATTR;
|
||||||
static MPC_SAMPLE_FORMAT g_V_R[MPC_V_MEM + 960 ] IBSS_ATTR __attribute__((aligned(16)));
|
static MPC_SAMPLE_FORMAT g_V_R[MPC_V_MEM + 960 ] IBSS_ATTR MEM_ALIGN_ATTR;
|
||||||
static MPC_SAMPLE_FORMAT g_Y_R[MPC_FRAME_LENGTH] IBSS_ATTR_MPC_LARGE_IRAM __attribute__((aligned(16)));
|
static MPC_SAMPLE_FORMAT g_Y_R[MPC_FRAME_LENGTH] IBSS_ATTR_MPC_LARGE_IRAM MEM_ALIGN_ATTR;
|
||||||
|
|
||||||
//SV7 globals (decoding results for bundled quantizers (3- and 5-step))
|
//SV7 globals (decoding results for bundled quantizers (3- and 5-step))
|
||||||
static const mpc_int32_t g_sv7_idx30[] ICONST_ATTR =
|
static const mpc_int32_t g_sv7_idx30[] ICONST_ATTR =
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
/// Synthesis functions.
|
/// Synthesis functions.
|
||||||
/// \todo document me
|
/// \todo document me
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <codecs.h>
|
||||||
#include "mpcdec.h"
|
#include "mpcdec.h"
|
||||||
#include "decoder.h"
|
#include "decoder.h"
|
||||||
#include "mpcdec_math.h"
|
#include "mpcdec_math.h"
|
||||||
|
@ -68,7 +69,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Di_opt coefficients are +/- 2^17 (pre-shifted by <<16)
|
// Di_opt coefficients are +/- 2^17 (pre-shifted by <<16)
|
||||||
static const MPC_SAMPLE_FORMAT Di_opt [512] ICONST_ATTR __attribute__((aligned(16))) = {
|
static const MPC_SAMPLE_FORMAT Di_opt [512] ICONST_ATTR MEM_ALIGN_ATTR = {
|
||||||
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
|
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
|
||||||
/* 0 */ D( 0), -D( 29), D(213), -D( 459), D(2037), -D(5153), D( 6574), -D(37489), D(75038), D(37489), D(6574), D(5153), D(2037), D(459), D(213), D(29),
|
/* 0 */ D( 0), -D( 29), D(213), -D( 459), D(2037), -D(5153), D( 6574), -D(37489), D(75038), D(37489), D(6574), D(5153), D(2037), D(459), D(213), D(29),
|
||||||
/* 1 */ -D( 1), -D( 31), D(218), -D( 519), D(2000), -D(5517), D( 5959), -D(39336), D(74992), D(35640), D(7134), D(4788), D(2063), D(401), D(208), D(26),
|
/* 1 */ -D( 1), -D( 31), D(218), -D( 519), D(2000), -D(5517), D( 5959), -D(39336), D(74992), D(35640), D(7134), D(4788), D(2063), D(401), D(208), D(26),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue