Loading package/Makefile.in +8 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,14 @@ ifeq ($(BR2_LARGEFILE),y) TARGET_CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 endif # Handle bug fixes in toolchain ifeq ($(BR2_arm),y) ifeq ($(BR2_GCC_VERSION_4_3_2),y) # Removes segment violation in mpg123. TARGET_CFLAGS+=-DARM_UNROLL_FIX endif endif TARGET_CXXFLAGS=$(TARGET_CFLAGS) # else it's an external toolchain Loading package/multimedia/mpg123/Config.in +0 −3 Original line number Diff line number Diff line Loading @@ -11,6 +11,3 @@ config BR2_PACKAGE_MPG123_ALSA default y depends on BR2_PACKAGE_ALSA_LIB config BR2_PACKAGE_MPG123_ARM_UNROLL_FIX bool default y if BR2_arm && BR2_GCC_VERSION_4_3_2 package/multimedia/mpg123/mpg123-0.66-arm-unroll.patch +9 −9 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ diff -urN mpg123-0.66-0rig//src/layer2.c mpg123-0.66/src/layer2.c } +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) +static int al_table_get_d_out; +void al_table_get_d(struct al_table * al) +{ Loading @@ -28,7 +28,7 @@ diff -urN mpg123-0.66-0rig//src/layer2.c mpg123-0.66/src/layer2.c if ( (ba=*bita++) ) { k=(alloc2 = alloc1+ba)->bits; +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) + al_table_get_d(alloc2); + d1 = al_table_get_d_out; + if( (d1) < 0) Loading @@ -42,7 +42,7 @@ diff -urN mpg123-0.66-0rig//src/layer2.c mpg123-0.66/src/layer2.c if ( (ba=*bita++) ) { k=(alloc2 = alloc1+ba)->bits; +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) + al_table_get_d(alloc2); + d1 = al_table_get_d_out; + if( (d1) < 0) Loading @@ -60,7 +60,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c mpg123-0.66/src/layer3.c static int pretab1[22] = {0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,3,2,0}; static int pretab2[22] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; - +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) +extern int arm_funroll_data; +extern void arm_funroll_fix(short *val); +#endif Loading @@ -71,7 +71,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c mpg123-0.66/src/layer3.c step = 3; } } +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) + { + register short *val = h->table; + REFRESH_MASK; Loading Loading @@ -104,7 +104,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c mpg123-0.66/src/layer3.c v = gr_info->pow2gain[((*scf++) + (*pretab++)) << shift]; } +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) + { + register short *val = h->table; + REFRESH_MASK; Loading Loading @@ -789,7 +789,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c~ mpg123-0.66/src/layer3.c~ + +static int pretab1[22] = {0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,3,2,0}; +static int pretab2[22] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) +extern int arm_funroll_data; +extern void arm_funroll_fix(short *val); +#endif Loading Loading @@ -1081,7 +1081,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c~ mpg123-0.66/src/layer3.c~ + v = gr_info->pow2gain[((*scf++) + (*pretab++)) << shift]; + + } +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) + { + register short *val = h->table; + REFRESH_MASK; Loading Loading @@ -1171,7 +1171,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c~ mpg123-0.66/src/layer3.c~ + register short *val = h->table,a; + + REFRESH_MASK; +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) + do { + arm_funroll_fix(val); val++; + a = arm_funroll_data; Loading Loading
package/Makefile.in +8 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,14 @@ ifeq ($(BR2_LARGEFILE),y) TARGET_CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 endif # Handle bug fixes in toolchain ifeq ($(BR2_arm),y) ifeq ($(BR2_GCC_VERSION_4_3_2),y) # Removes segment violation in mpg123. TARGET_CFLAGS+=-DARM_UNROLL_FIX endif endif TARGET_CXXFLAGS=$(TARGET_CFLAGS) # else it's an external toolchain Loading
package/multimedia/mpg123/Config.in +0 −3 Original line number Diff line number Diff line Loading @@ -11,6 +11,3 @@ config BR2_PACKAGE_MPG123_ALSA default y depends on BR2_PACKAGE_ALSA_LIB config BR2_PACKAGE_MPG123_ARM_UNROLL_FIX bool default y if BR2_arm && BR2_GCC_VERSION_4_3_2
package/multimedia/mpg123/mpg123-0.66-arm-unroll.patch +9 −9 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ diff -urN mpg123-0.66-0rig//src/layer2.c mpg123-0.66/src/layer2.c } +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) +static int al_table_get_d_out; +void al_table_get_d(struct al_table * al) +{ Loading @@ -28,7 +28,7 @@ diff -urN mpg123-0.66-0rig//src/layer2.c mpg123-0.66/src/layer2.c if ( (ba=*bita++) ) { k=(alloc2 = alloc1+ba)->bits; +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) + al_table_get_d(alloc2); + d1 = al_table_get_d_out; + if( (d1) < 0) Loading @@ -42,7 +42,7 @@ diff -urN mpg123-0.66-0rig//src/layer2.c mpg123-0.66/src/layer2.c if ( (ba=*bita++) ) { k=(alloc2 = alloc1+ba)->bits; +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) + al_table_get_d(alloc2); + d1 = al_table_get_d_out; + if( (d1) < 0) Loading @@ -60,7 +60,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c mpg123-0.66/src/layer3.c static int pretab1[22] = {0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,3,2,0}; static int pretab2[22] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; - +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) +extern int arm_funroll_data; +extern void arm_funroll_fix(short *val); +#endif Loading @@ -71,7 +71,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c mpg123-0.66/src/layer3.c step = 3; } } +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) + { + register short *val = h->table; + REFRESH_MASK; Loading Loading @@ -104,7 +104,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c mpg123-0.66/src/layer3.c v = gr_info->pow2gain[((*scf++) + (*pretab++)) << shift]; } +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) + { + register short *val = h->table; + REFRESH_MASK; Loading Loading @@ -789,7 +789,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c~ mpg123-0.66/src/layer3.c~ + +static int pretab1[22] = {0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,3,2,0}; +static int pretab2[22] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) +extern int arm_funroll_data; +extern void arm_funroll_fix(short *val); +#endif Loading Loading @@ -1081,7 +1081,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c~ mpg123-0.66/src/layer3.c~ + v = gr_info->pow2gain[((*scf++) + (*pretab++)) << shift]; + + } +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) + { + register short *val = h->table; + REFRESH_MASK; Loading Loading @@ -1171,7 +1171,7 @@ diff -urN mpg123-0.66-0rig//src/layer3.c~ mpg123-0.66/src/layer3.c~ + register short *val = h->table,a; + + REFRESH_MASK; +#if defined(MPG123_ARM_UNROLL_FIX) +#if defined(ARM_UNROLL_FIX) + do { + arm_funroll_fix(val); val++; + a = arm_funroll_data; Loading