diff options
Diffstat (limited to 'apps/plugins/mpegplayer/decode.c')
-rw-r--r-- | apps/plugins/mpegplayer/decode.c | 23 |
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 | ||
34 | static int mpeg2_accels = 0; | ||
35 | |||
36 | #define BUFFER_SIZE (1194 * 1024) | 34 | #define BUFFER_SIZE (1194 * 1024) |
37 | 35 | ||
38 | const mpeg2_info_t * mpeg2_info (mpeg2dec_t * mpeg2dec) | 36 | const 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 | ||
385 | uint32_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 | |||
398 | void mpeg2_reset (mpeg2dec_t * mpeg2dec, int full_reset) | 383 | void 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); |