summaryrefslogtreecommitdiff
authorzecke <zecke>2002-07-11 23:14:01 (UTC)
committer zecke <zecke>2002-07-11 23:14:01 (UTC)
commit5f010888acabe5d00504b05d159b2837ff115f05 (patch) (unidiff)
tree4c4b02679d0829d55e5b3ab02bf518cdadcf97c1
parenta7b8ef4096c17ba5e0ff96e9292a291390831e69 (diff)
downloadopie-5f010888acabe5d00504b05d159b2837ff115f05.zip
opie-5f010888acabe5d00504b05d159b2837ff115f05.tar.gz
opie-5f010888acabe5d00504b05d159b2837ff115f05.tar.bz2
now play video
sandman saved my nite. Many thanks
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/nullvideo.c2
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}
411static void null_display_frame( vo_driver_t* self, vo_frame_t *frame_gen ){ 411static 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
434static void null_overlay_clut_yuv2rgb(null_driver_t *this, vo_overlay_t *overlay, 434static 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
457static void null_overlay_blend (vo_driver_t *this_gen, vo_frame_t *frame_gen, vo_overlay_t *overlay) { 457static 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: