forked from len0rd/rockbox
Mpegplayer: Assembler optimised IDCT for coldfire, based on FS #5995 by Karim Boucher. Put the IDCT block buffer in IRAM for better performance. The whole libmpeg2 decoder struct doesn't fit without throwing some libmad buffers out of IRAM, but then doesn't change performance significantly. Mpegplayer is quite usable now on X5; H300 is sort-of usable for widescreen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15156 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
84f5c5c3e3
commit
fc43b9df82
5 changed files with 611 additions and 2 deletions
|
@ -20,6 +20,8 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "config.h" /* for Rockbox CPU_ #defines */
|
||||
|
||||
/* macroblock modes */
|
||||
#define MACROBLOCK_INTRA 1
|
||||
|
@ -92,7 +94,11 @@ struct mpeg2_decoder_s {
|
|||
int16_t dc_dct_pred[3];
|
||||
|
||||
/* DCT coefficients */
|
||||
#ifdef CPU_COLDFIRE
|
||||
int16_t *DCTblock; /* put buffer separately to have it in IRAM */
|
||||
#else
|
||||
int16_t DCTblock[64] ATTR_ALIGN(64);
|
||||
#endif
|
||||
|
||||
uint8_t * picture_dest[3];
|
||||
void (* convert) (void * convert_id, uint8_t * const * src,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue