author | zecke <zecke> | 2002-07-11 23:14:01 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-07-11 23:14:01 (UTC) |
commit | 5f010888acabe5d00504b05d159b2837ff115f05 (patch) (unidiff) | |
tree | 4c4b02679d0829d55e5b3ab02bf518cdadcf97c1 | |
parent | a7b8ef4096c17ba5e0ff96e9292a291390831e69 (diff) | |
download | opie-5f010888acabe5d00504b05d159b2837ff115f05.zip opie-5f010888acabe5d00504b05d159b2837ff115f05.tar.gz opie-5f010888acabe5d00504b05d159b2837ff115f05.tar.bz2 |
now play video
sandman saved my nite. Many thanks
-rw-r--r-- | noncore/multimedia/opieplayer2/nullvideo.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/multimedia/opieplayer2/nullvideo.c b/noncore/multimedia/opieplayer2/nullvideo.c index e50d7b5..f356e76 100644 --- a/noncore/multimedia/opieplayer2/nullvideo.c +++ b/noncore/multimedia/opieplayer2/nullvideo.c | |||
@@ -358,129 +358,129 @@ static void null_update_frame_format( vo_driver_t* self, vo_frame_t* img, | |||
358 | if(this->m_show_video ){ | 358 | if(this->m_show_video ){ |
359 | printf("showing video\n"); | 359 | printf("showing video\n"); |
360 | 360 | ||
361 | switch (flags) { | 361 | switch (flags) { |
362 | case VO_TOP_FIELD: | 362 | case VO_TOP_FIELD: |
363 | case VO_BOTTOM_FIELD: | 363 | case VO_BOTTOM_FIELD: |
364 | frame->yuv2rgb->configure (frame->yuv2rgb, | 364 | frame->yuv2rgb->configure (frame->yuv2rgb, |
365 | frame->width, | 365 | frame->width, |
366 | 16, | 366 | 16, |
367 | frame->width*2, | 367 | frame->width*2, |
368 | frame->width, | 368 | frame->width, |
369 | frame->output_width, | 369 | frame->output_width, |
370 | frame->stripe_height, | 370 | frame->stripe_height, |
371 | frame->bytes_per_line*2); | 371 | frame->bytes_per_line*2); |
372 | frame->yuv_stride = frame->bytes_per_line*2; | 372 | frame->yuv_stride = frame->bytes_per_line*2; |
373 | break; | 373 | break; |
374 | case VO_BOTH_FIELDS: | 374 | case VO_BOTH_FIELDS: |
375 | frame->yuv2rgb->configure (frame->yuv2rgb, | 375 | frame->yuv2rgb->configure (frame->yuv2rgb, |
376 | frame->width, | 376 | frame->width, |
377 | 16, | 377 | 16, |
378 | frame->width, | 378 | frame->width, |
379 | frame->width/2, | 379 | frame->width/2, |
380 | frame->output_width, | 380 | frame->output_width, |
381 | frame->stripe_height, | 381 | frame->stripe_height, |
382 | frame->bytes_per_line); | 382 | frame->bytes_per_line); |
383 | frame->yuv_stride = frame->bytes_per_line; | 383 | frame->yuv_stride = frame->bytes_per_line; |
384 | break; | 384 | break; |
385 | } | 385 | } |
386 | } | 386 | } |
387 | } | 387 | } |
388 | printf("after gui changed\n"); | 388 | printf("after gui changed\n"); |
389 | /* | 389 | /* |
390 | * reset dest pointers | 390 | * reset dest pointers |
391 | */ | 391 | */ |
392 | 392 | ||
393 | if (frame->data) { | 393 | if (frame->data) { |
394 | switch (flags) { | 394 | switch (flags) { |
395 | case VO_TOP_FIELD: | 395 | case VO_TOP_FIELD: |
396 | frame->rgb_dst = (uint8_t *)frame->data; | 396 | frame->rgb_dst = (uint8_t *)frame->data; |
397 | frame->stripe_inc = 2 * frame->stripe_height * frame->bytes_per_line; | 397 | frame->stripe_inc = 2 * frame->stripe_height * frame->bytes_per_line; |
398 | break; | 398 | break; |
399 | case VO_BOTTOM_FIELD: | 399 | case VO_BOTTOM_FIELD: |
400 | frame->rgb_dst = (uint8_t *)frame->data + frame->bytes_per_line ; | 400 | frame->rgb_dst = (uint8_t *)frame->data + frame->bytes_per_line ; |
401 | frame->stripe_inc = 2 * frame->stripe_height * frame->bytes_per_line; | 401 | frame->stripe_inc = 2 * frame->stripe_height * frame->bytes_per_line; |
402 | break; | 402 | break; |
403 | case VO_BOTH_FIELDS: | 403 | case VO_BOTH_FIELDS: |
404 | frame->rgb_dst = (uint8_t *)frame->data; | 404 | frame->rgb_dst = (uint8_t *)frame->data; |
405 | frame->stripe_inc = frame->stripe_height * frame->bytes_per_line; | 405 | frame->stripe_inc = frame->stripe_height * frame->bytes_per_line; |
406 | break; | 406 | break; |
407 | } | 407 | } |
408 | } | 408 | } |
409 | printf("done\n"); | 409 | printf("done\n"); |
410 | } | 410 | } |
411 | static void null_display_frame( vo_driver_t* self, vo_frame_t *frame_gen ){ | 411 | static void null_display_frame( vo_driver_t* self, vo_frame_t *frame_gen ){ |
412 | null_driver_t* this = (null_driver_t*) self; | 412 | null_driver_t* this = (null_driver_t*) self; |
413 | opie_frame_t* frame = (opie_frame_t*)frame_gen; | 413 | opie_frame_t* frame = (opie_frame_t*)frame_gen; |
414 | display_xine_frame_t display = this->frameDis; | 414 | display_xine_frame_t display = this->frameDis; |
415 | 415 | ||
416 | printf("display frame\n"); | 416 | printf("display frame\n"); |
417 | // if( this->m_show_video ) { // return if not displaying | 417 | // if( this->m_show_video ) { // return if not displaying |
418 | printf("calling home aye\n" ); | 418 | printf("calling home aye\n" ); |
419 | if( display != NULL ) { | 419 | if( display != NULL ) { |
420 | (*display)(this->caller, frame->data, | 420 | (*display)(this->caller, frame->data, |
421 | frame->output_width, frame->output_height, | 421 | frame->output_width, frame->output_height, |
422 | this->bytes_per_pixel ); | 422 | frame->bytes_per_line ); |
423 | printf("display done hope you enyoyed the frame"); | 423 | printf("display done hope you enyoyed the frame"); |
424 | } | 424 | } |
425 | // } | 425 | // } |
426 | 426 | ||
427 | frame->frame.displayed (&frame->frame); | 427 | frame->frame.displayed (&frame->frame); |
428 | } | 428 | } |
429 | 429 | ||
430 | 430 | ||
431 | // blending related | 431 | // blending related |
432 | 432 | ||
433 | 433 | ||
434 | static void null_overlay_clut_yuv2rgb(null_driver_t *this, vo_overlay_t *overlay, | 434 | static void null_overlay_clut_yuv2rgb(null_driver_t *this, vo_overlay_t *overlay, |
435 | opie_frame_t *frame) { | 435 | opie_frame_t *frame) { |
436 | int i; | 436 | int i; |
437 | clut_t* clut = (clut_t*) overlay->color; | 437 | clut_t* clut = (clut_t*) overlay->color; |
438 | if (!overlay->rgb_clut) { | 438 | if (!overlay->rgb_clut) { |
439 | for (i = 0; i < sizeof(overlay->color)/sizeof(overlay->color[0]); i++) { | 439 | for (i = 0; i < sizeof(overlay->color)/sizeof(overlay->color[0]); i++) { |
440 | *((uint32_t *)&clut[i]) = | 440 | *((uint32_t *)&clut[i]) = |
441 | frame->yuv2rgb->yuv2rgb_single_pixel_fun (frame->yuv2rgb, | 441 | frame->yuv2rgb->yuv2rgb_single_pixel_fun (frame->yuv2rgb, |
442 | clut[i].y, clut[i].cb, clut[i].cr); | 442 | clut[i].y, clut[i].cb, clut[i].cr); |
443 | } | 443 | } |
444 | overlay->rgb_clut++; | 444 | overlay->rgb_clut++; |
445 | } | 445 | } |
446 | if (!overlay->clip_rgb_clut) { | 446 | if (!overlay->clip_rgb_clut) { |
447 | clut = (clut_t*) overlay->clip_color; | 447 | clut = (clut_t*) overlay->clip_color; |
448 | for (i = 0; i < sizeof(overlay->color)/sizeof(overlay->color[0]); i++) { | 448 | for (i = 0; i < sizeof(overlay->color)/sizeof(overlay->color[0]); i++) { |
449 | *((uint32_t *)&clut[i]) = | 449 | *((uint32_t *)&clut[i]) = |
450 | frame->yuv2rgb->yuv2rgb_single_pixel_fun(frame->yuv2rgb, | 450 | frame->yuv2rgb->yuv2rgb_single_pixel_fun(frame->yuv2rgb, |
451 | clut[i].y, clut[i].cb, clut[i].cr); | 451 | clut[i].y, clut[i].cb, clut[i].cr); |
452 | } | 452 | } |
453 | overlay->clip_rgb_clut++; | 453 | overlay->clip_rgb_clut++; |
454 | } | 454 | } |
455 | } | 455 | } |
456 | 456 | ||
457 | static void null_overlay_blend (vo_driver_t *this_gen, vo_frame_t *frame_gen, vo_overlay_t *overlay) { | 457 | static void null_overlay_blend (vo_driver_t *this_gen, vo_frame_t *frame_gen, vo_overlay_t *overlay) { |
458 | null_driver_t *this = (null_driver_t *) this_gen; | 458 | null_driver_t *this = (null_driver_t *) this_gen; |
459 | opie_frame_t *frame = (opie_frame_t *) frame_gen; | 459 | opie_frame_t *frame = (opie_frame_t *) frame_gen; |
460 | 460 | ||
461 | printf("overlay blend\n"); | 461 | printf("overlay blend\n"); |
462 | if(!this->m_show_video || frame->output_width == 0 || frame->output_height== 0) | 462 | if(!this->m_show_video || frame->output_width == 0 || frame->output_height== 0) |
463 | return; | 463 | return; |
464 | 464 | ||
465 | /* Alpha Blend here */ | 465 | /* Alpha Blend here */ |
466 | if (overlay->rle) { | 466 | if (overlay->rle) { |
467 | if( !overlay->rgb_clut || !overlay->clip_rgb_clut) | 467 | if( !overlay->rgb_clut || !overlay->clip_rgb_clut) |
468 | null_overlay_clut_yuv2rgb(this,overlay,frame); | 468 | null_overlay_clut_yuv2rgb(this,overlay,frame); |
469 | 469 | ||
470 | switch(this->bpp) { | 470 | switch(this->bpp) { |
471 | case 16: | 471 | case 16: |
472 | blend_rgb16( (uint8_t *)frame->data, overlay, | 472 | blend_rgb16( (uint8_t *)frame->data, overlay, |
473 | frame->output_width, frame->output_height, | 473 | frame->output_width, frame->output_height, |
474 | frame->width, frame->height); | 474 | frame->width, frame->height); |
475 | break; | 475 | break; |
476 | case 24: | 476 | case 24: |
477 | blend_rgb24( (uint8_t *)frame->data, overlay, | 477 | blend_rgb24( (uint8_t *)frame->data, overlay, |
478 | frame->output_width, frame->output_height, | 478 | frame->output_width, frame->output_height, |
479 | frame->width, frame->height); | 479 | frame->width, frame->height); |
480 | break; | 480 | break; |
481 | case 32: | 481 | case 32: |
482 | blend_rgb32( (uint8_t *)frame->data, overlay, | 482 | blend_rgb32( (uint8_t *)frame->data, overlay, |
483 | frame->output_width, frame->output_height, | 483 | frame->output_width, frame->output_height, |
484 | frame->width, frame->height); | 484 | frame->width, frame->height); |
485 | break; | 485 | break; |
486 | default: | 486 | default: |