comparison libvo/vo_xvmc.c @ 28566:0c93265eb728

The xmvc structure member magic_id was renamed to unique_id.
author diego
date Sun, 15 Feb 2009 17:35:24 +0000
parents 6951e68ddb34
children a0374525d6ad
comparison
equal deleted inserted replaced
28565:fca7fe99aa23 28566:0c93265eb728
369 assert(mpi->flags &MP_IMGFLAG_DIRECT); 369 assert(mpi->flags &MP_IMGFLAG_DIRECT);
370 // assert(mpi->flags &MP_IMGFLAGS_DRAWBACK); 370 // assert(mpi->flags &MP_IMGFLAGS_DRAWBACK);
371 371
372 rndr = (struct xvmc_pixfmt_render*)mpi->priv;//there is copy in plane[2] 372 rndr = (struct xvmc_pixfmt_render*)mpi->priv;//there is copy in plane[2]
373 assert( rndr != NULL ); 373 assert( rndr != NULL );
374 assert( rndr->magic_id == AV_XVMC_RENDER_MAGIC ); 374 assert( rndr->unique_id == AV_XVMC_RENDER_MAGIC );
375 if( mp_msg_test(MSGT_VO,MSGL_DBG4) ) 375 if( mp_msg_test(MSGT_VO,MSGL_DBG4) )
376 printf("vo_xvmc: draw_image(show rndr=%p)\n",rndr); 376 printf("vo_xvmc: draw_image(show rndr=%p)\n",rndr);
377 // the surface have passed vf system without been skiped, it will be displayed 377 // the surface have passed vf system without been skiped, it will be displayed
378 rndr->state |= AV_XVMC_STATE_DISPLAY_PENDING; 378 rndr->state |= AV_XVMC_STATE_DISPLAY_PENDING;
379 p_render_surface_to_show = rndr; 379 p_render_surface_to_show = rndr;
526 526
527 for(i=0; i<MAX_SURFACES; i++){ 527 for(i=0; i<MAX_SURFACES; i++){
528 rez=XvMCCreateSurface(mDisplay,&ctx,&surface_array[i]); 528 rez=XvMCCreateSurface(mDisplay,&ctx,&surface_array[i]);
529 if( rez != Success ) 529 if( rez != Success )
530 break; 530 break;
531 surface_render[i].magic_id = AV_XVMC_RENDER_MAGIC; 531 surface_render[i].unique_id = AV_XVMC_RENDER_MAGIC;
532 surface_render[i].data_blocks = data_blocks.blocks; 532 surface_render[i].data_blocks = data_blocks.blocks;
533 surface_render[i].mv_blocks = mv_blocks.macro_blocks; 533 surface_render[i].mv_blocks = mv_blocks.macro_blocks;
534 surface_render[i].total_number_of_mv_blocks = numblocks; 534 surface_render[i].total_number_of_mv_blocks = numblocks;
535 surface_render[i].total_number_of_data_blocks = numblocks*blocks_per_macroblock;; 535 surface_render[i].total_number_of_data_blocks = numblocks*blocks_per_macroblock;;
536 surface_render[i].idct = (surface_info.mc_type & XVMC_IDCT) == XVMC_IDCT; 536 surface_render[i].idct = (surface_info.mc_type & XVMC_IDCT) == XVMC_IDCT;
975 975
976 if( mp_msg_test(MSGT_VO,MSGL_DBG4) ) 976 if( mp_msg_test(MSGT_VO,MSGL_DBG4) )
977 printf("vo_xvmc: flip_page show(rndr=%p)\n\n",p_render_surface_to_show); 977 printf("vo_xvmc: flip_page show(rndr=%p)\n\n",p_render_surface_to_show);
978 978
979 if(p_render_surface_to_show == NULL) return; 979 if(p_render_surface_to_show == NULL) return;
980 assert( p_render_surface_to_show->magic_id == AV_XVMC_RENDER_MAGIC ); 980 assert( p_render_surface_to_show->unique_id == AV_XVMC_RENDER_MAGIC );
981 //fixme assert( p_render_surface_to_show != p_render_surface_visible); 981 //fixme assert( p_render_surface_to_show != p_render_surface_visible);
982 982
983 if(use_queue){ 983 if(use_queue){
984 // fill the queue until only n free surfaces remain 984 // fill the queue until only n free surfaces remain
985 // after that start displaying 985 // after that start displaying
1120 if( mp_msg_test(MSGT_VO,MSGL_DBG4) ) 1120 if( mp_msg_test(MSGT_VO,MSGL_DBG4) )
1121 printf("vo_xvmc: draw_slice y=%d\n",y); 1121 printf("vo_xvmc: draw_slice y=%d\n",y);
1122 1122
1123 rndr = (struct xvmc_pixfmt_render*)image[2];//this is copy of priv-ate 1123 rndr = (struct xvmc_pixfmt_render*)image[2];//this is copy of priv-ate
1124 assert( rndr != NULL ); 1124 assert( rndr != NULL );
1125 assert( rndr->magic_id == AV_XVMC_RENDER_MAGIC ); 1125 assert( rndr->unique_id == AV_XVMC_RENDER_MAGIC );
1126 1126
1127 rez = XvMCRenderSurface(mDisplay,&ctx,rndr->picture_structure, 1127 rez = XvMCRenderSurface(mDisplay,&ctx,rndr->picture_structure,
1128 rndr->p_surface, 1128 rndr->p_surface,
1129 rndr->p_past_surface, 1129 rndr->p_past_surface,
1130 rndr->p_future_surface, 1130 rndr->p_future_surface,