summaryrefslogtreecommitdiff
path: root/apps/plugins/mpegplayer/decode.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-04-14 16:35:44 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-04-14 16:35:44 +0000
commitf4b5a723b06b25babe201b0a97bdeebc716f5bba (patch)
tree10a759a0438df774a7b1eab6af0e3995f85ae4d3 /apps/plugins/mpegplayer/decode.c
parent32bd59d4f75f135b26a537f438e0d6b893f1cdfb (diff)
downloadrockbox-f4b5a723b06b25babe201b0a97bdeebc716f5bba.tar.gz
rockbox-f4b5a723b06b25babe201b0a97bdeebc716f5bba.zip
mpeg2dec in mpegplayer: Do a little code slashing and organizing. Much more to come I think.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13159 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/mpegplayer/decode.c')
-rw-r--r--apps/plugins/mpegplayer/decode.c23
1 files changed, 4 insertions, 19 deletions
diff --git a/apps/plugins/mpegplayer/decode.c b/apps/plugins/mpegplayer/decode.c
index 613292699d..299abc9663 100644
--- a/apps/plugins/mpegplayer/decode.c
+++ b/apps/plugins/mpegplayer/decode.c
@@ -31,8 +31,6 @@ extern struct plugin_api* rb;
31#include "attributes.h" 31#include "attributes.h"
32#include "mpeg2_internal.h" 32#include "mpeg2_internal.h"
33 33
34static int mpeg2_accels = 0;
35
36#define BUFFER_SIZE (1194 * 1024) 34#define BUFFER_SIZE (1194 * 1024)
37 35
38const mpeg2_info_t * mpeg2_info (mpeg2dec_t * mpeg2dec) 36const mpeg2_info_t * mpeg2_info (mpeg2dec_t * mpeg2dec)
@@ -270,7 +268,7 @@ mpeg2_state_t mpeg2_parse_header (mpeg2dec_t * mpeg2dec)
270 break; 268 break;
271 case RECEIVED (0x01, STATE_PICTURE): 269 case RECEIVED (0x01, STATE_PICTURE):
272 case RECEIVED (0x01, STATE_PICTURE_2ND): 270 case RECEIVED (0x01, STATE_PICTURE_2ND):
273 mpeg2_header_picture_finalize (mpeg2dec, mpeg2_accels); 271 mpeg2_header_picture_finalize (mpeg2dec);
274 mpeg2dec->action = mpeg2_header_slice_start; 272 mpeg2dec->action = mpeg2_header_slice_start;
275 break; 273 break;
276 274
@@ -302,7 +300,7 @@ int mpeg2_convert (mpeg2dec_t * mpeg2dec, mpeg2_convert_t convert, void * arg)
302 int error; 300 int error;
303 301
304 error = convert (MPEG2_CONVERT_SET, NULL, &(mpeg2dec->sequence), 0, 302 error = convert (MPEG2_CONVERT_SET, NULL, &(mpeg2dec->sequence), 0,
305 mpeg2_accels, arg, &convert_init); 303 arg, &convert_init);
306 if (!error) { 304 if (!error) {
307 mpeg2dec->convert = convert; 305 mpeg2dec->convert = convert;
308 mpeg2dec->convert_arg = arg; 306 mpeg2dec->convert_arg = arg;
@@ -323,7 +321,7 @@ int mpeg2_stride (mpeg2dec_t * mpeg2dec, int stride)
323 321
324 stride = mpeg2dec->convert (MPEG2_CONVERT_STRIDE, NULL, 322 stride = mpeg2dec->convert (MPEG2_CONVERT_STRIDE, NULL,
325 &(mpeg2dec->sequence), stride, 323 &(mpeg2dec->sequence), stride,
326 mpeg2_accels, mpeg2dec->convert_arg, 324 mpeg2dec->convert_arg,
327 &convert_init); 325 &convert_init);
328 mpeg2dec->convert_id_size = convert_init.id_size; 326 mpeg2dec->convert_id_size = convert_init.id_size;
329 mpeg2dec->convert_stride = stride; 327 mpeg2dec->convert_stride = stride;
@@ -382,19 +380,6 @@ void mpeg2_tag_picture (mpeg2dec_t * mpeg2dec, uint32_t tag, uint32_t tag2)
382 mpeg2dec->bytes_since_tag = 0; 380 mpeg2dec->bytes_since_tag = 0;
383} 381}
384 382
385uint32_t mpeg2_accel (uint32_t accel)
386{
387 if (!mpeg2_accels) {
388 if (accel & MPEG2_ACCEL_DETECT)
389 accel |= mpeg2_detect_accel ();
390 mpeg2_accels = accel |= MPEG2_ACCEL_DETECT;
391 mpeg2_cpu_state_init (accel);
392 mpeg2_idct_init (accel);
393 mpeg2_mc_init (accel);
394 }
395 return mpeg2_accels & ~MPEG2_ACCEL_DETECT;
396}
397
398void mpeg2_reset (mpeg2dec_t * mpeg2dec, int full_reset) 383void mpeg2_reset (mpeg2dec_t * mpeg2dec, int full_reset)
399{ 384{
400 mpeg2dec->buf_start = mpeg2dec->buf_end = NULL; 385 mpeg2dec->buf_start = mpeg2dec->buf_end = NULL;
@@ -420,7 +405,7 @@ mpeg2dec_t * mpeg2_init (void)
420{ 405{
421 mpeg2dec_t * mpeg2dec; 406 mpeg2dec_t * mpeg2dec;
422 407
423 mpeg2_accel (MPEG2_ACCEL_DETECT); 408 mpeg2_idct_init ();
424 409
425 mpeg2dec = (mpeg2dec_t *) mpeg2_malloc (sizeof (mpeg2dec_t), 410 mpeg2dec = (mpeg2dec_t *) mpeg2_malloc (sizeof (mpeg2dec_t),
426 MPEG2_ALLOC_MPEG2DEC); 411 MPEG2_ALLOC_MPEG2DEC);