summaryrefslogtreecommitdiff
path: root/noncore
Unidiff
Diffstat (limited to 'noncore') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/nullvideo.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/noncore/multimedia/opieplayer2/nullvideo.c b/noncore/multimedia/opieplayer2/nullvideo.c
index 90f62f2..378bbd4 100644
--- a/noncore/multimedia/opieplayer2/nullvideo.c
+++ b/noncore/multimedia/opieplayer2/nullvideo.c
@@ -191,25 +191,26 @@ static vo_frame_t* null_alloc_frame( vo_driver_t* self ){
191 frame->frame.dispose = null_frame_dispose; 191 frame->frame.dispose = null_frame_dispose;
192 192
193 /* 193 /*
194 * colorspace converter for this frame 194 * colorspace converter for this frame
195 */ 195 */
196 frame->yuv2rgb = this->yuv2rgb_factory->create_converter (this->yuv2rgb_factory); 196 frame->yuv2rgb = this->yuv2rgb_factory->create_converter (this->yuv2rgb_factory);
197 197
198 return (vo_frame_t*) frame; 198 return (vo_frame_t*) frame;
199} 199}
200 200
201static void null_update_frame_format( vo_driver_t* self, vo_frame_t* img, 201static void null_update_frame_format( vo_driver_t* self, vo_frame_t* img,
202 uint32_t width, uint32_t height, 202 uint32_t width, uint32_t height,
203 double ratio_code, int format, int flags ){ 203 double ratio_code, int format,
204 int flags ){
204 null_driver_t* this = (null_driver_t*) self; 205 null_driver_t* this = (null_driver_t*) self;
205 opie_frame_t* frame = (opie_frame_t*)img; 206 opie_frame_t* frame = (opie_frame_t*)img;
206 /* not needed now */ 207 /* not needed now */
207 208
208#ifdef LOG 209#ifdef LOG
209 fprintf (stderr, "nullvideo: update_frame_format\n"); 210 fprintf (stderr, "nullvideo: update_frame_format\n");
210#endif 211#endif
211 212
212 flags &= VO_BOTH_FIELDS; 213 flags &= VO_BOTH_FIELDS;
213 214
214 /* find out if we need to adapt this frame */ 215 /* find out if we need to adapt this frame */
215 216
@@ -360,40 +361,42 @@ static void null_display_frame( vo_driver_t* self, vo_frame_t *frame_gen ){
360 361
361 362
362/* blending related */ 363/* blending related */
363static void null_overlay_clut_yuv2rgb (null_driver_t *this, 364static void null_overlay_clut_yuv2rgb (null_driver_t *this,
364 vo_overlay_t *overlay, 365 vo_overlay_t *overlay,
365 opie_frame_t *frame) { 366 opie_frame_t *frame) {
366 int i; 367 int i;
367 clut_t* clut = (clut_t*) overlay->color; 368 clut_t* clut = (clut_t*) overlay->color;
368 if (!overlay->rgb_clut) { 369 if (!overlay->rgb_clut) {
369 for (i = 0; i < sizeof(overlay->color)/sizeof(overlay->color[0]); i++) { 370 for (i = 0; i < sizeof(overlay->color)/sizeof(overlay->color[0]); i++) {
370 *((uint32_t *)&clut[i]) = 371 *((uint32_t *)&clut[i]) =
371 frame->yuv2rgb->yuv2rgb_single_pixel_fun (frame->yuv2rgb, 372 frame->yuv2rgb->yuv2rgb_single_pixel_fun (frame->yuv2rgb,
372 clut[i].y, clut[i].cb, clut[i].cr); 373 clut[i].y, clut[i].cb,
374 clut[i].cr);
373 } 375 }
374 overlay->rgb_clut++; 376 overlay->rgb_clut++;
375 } 377 }
376 if (!overlay->clip_rgb_clut) { 378 if (!overlay->clip_rgb_clut) {
377 clut = (clut_t*) overlay->clip_color; 379 clut = (clut_t*) overlay->clip_color;
378 for (i = 0; i < sizeof(overlay->color)/sizeof(overlay->color[0]); i++) { 380 for (i = 0; i < sizeof(overlay->color)/sizeof(overlay->color[0]); i++) {
379 *((uint32_t *)&clut[i]) = 381 *((uint32_t *)&clut[i]) =
380 frame->yuv2rgb->yuv2rgb_single_pixel_fun(frame->yuv2rgb, 382 frame->yuv2rgb->yuv2rgb_single_pixel_fun(frame->yuv2rgb,
381 clut[i].y, clut[i].cb, clut[i].cr); 383 clut[i].y, clut[i].cb, clut[i].cr);
382 } 384 }
383 overlay->clip_rgb_clut++; 385 overlay->clip_rgb_clut++;
384 } 386 }
385} 387}
386 388
387static void null_overlay_blend ( vo_driver_t *this_gen, vo_frame_t *frame_gen, vo_overlay_t *overlay) { 389static void null_overlay_blend ( vo_driver_t *this_gen, vo_frame_t *frame_gen,
390 vo_overlay_t *overlay) {
388 null_driver_t *this = (null_driver_t *) this_gen; 391 null_driver_t *this = (null_driver_t *) this_gen;
389 opie_frame_t *frame = (opie_frame_t *) frame_gen; 392 opie_frame_t *frame = (opie_frame_t *) frame_gen;
390 393
391 if(!this->m_show_video || frame->sc.output_width == 0 394 if(!this->m_show_video || frame->sc.output_width == 0
392 || frame->sc.output_height== 0) 395 || frame->sc.output_height== 0)
393 return; 396 return;
394 397
395 /* Alpha Blend here */ 398 /* Alpha Blend here */
396 if (overlay->rle) { 399 if (overlay->rle) {
397 if( !overlay->rgb_clut || !overlay->clip_rgb_clut) 400 if( !overlay->rgb_clut || !overlay->clip_rgb_clut)
398 null_overlay_clut_yuv2rgb(this,overlay,frame); 401 null_overlay_clut_yuv2rgb(this,overlay,frame);
399 402
@@ -443,25 +446,27 @@ static int null_gui_data_exchange( vo_driver_t* self,
443} 446}
444 447
445static void null_dispose ( vo_driver_t* self ){ 448static void null_dispose ( vo_driver_t* self ){
446 null_driver_t* this = (null_driver_t*)self; 449 null_driver_t* this = (null_driver_t*)self;
447 free ( this ); 450 free ( this );
448} 451}
449static int null_redraw_needed( vo_driver_t* self ){ 452static int null_redraw_needed( vo_driver_t* self ){
450 return 0; 453 return 0;
451} 454}
452 455
453 456
454xine_vo_driver_t* init_video_out_plugin( xine_t *xine, 457xine_vo_driver_t* init_video_out_plugin( xine_t *xine,
455 void* video, display_xine_frame_t frameDisplayFunc, void *userData ){ 458 void* video,
459 display_xine_frame_t frameDisplayFunc,
460 void *userData ){
456 null_driver_t *vo; 461 null_driver_t *vo;
457 vo = (null_driver_t*)malloc( sizeof(null_driver_t ) ); 462 vo = (null_driver_t*)malloc( sizeof(null_driver_t ) );
458 463
459 /* memset? */ 464 /* memset? */
460 memset(vo,0, sizeof(null_driver_t ) ); 465 memset(vo,0, sizeof(null_driver_t ) );
461 466
462 vo_scale_init (&vo->sc, 0, 0, xine->config); 467 vo_scale_init (&vo->sc, 0, 0, xine->config);
463 468
464 vo->sc.gui_pixel_aspect = 1.0; 469 vo->sc.gui_pixel_aspect = 1.0;
465 470
466 vo->m_show_video = 0; // false 471 vo->m_show_video = 0; // false
467 vo->m_video_fullscreen = 0; 472 vo->m_video_fullscreen = 0;