Changeset ba57d25b17859657591513842c0403a67e18cb51
- Timestamp:
- 09/15/02 22:54:12
(6 years ago)
- Author:
- Jean-Paul Saman <jpsaman@videolan.org>
- git-committer:
- Jean-Paul Saman <jpsaman@videolan.org> 1032123252 +0000
- git-parent:
[00fdbca4abc6baf927ff6ddb4d7f3ea4a9678e0a]
- git-author:
- Jean-Paul Saman <jpsaman@videolan.org> 1032123252 +0000
- Message:
Configure option --enable-qte works now (default is disabled).
Porting video out plugin/builtin for Qt Embedded to CVS is not complete. (Please do not use it.)
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| re710eca |
rba57d25 |
|
| 1382 | 1382 | |
|---|
| 1383 | 1383 | dnl |
|---|
| 1384 | | dnl QT Embedded module |
|---|
| | 1384 | dnl Qt Embedded module |
|---|
| 1385 | 1385 | dnl (disabled by default) |
|---|
| 1386 | 1386 | dnl |
|---|
| 1387 | 1387 | AC_ARG_ENABLE(qte, |
|---|
| 1388 | 1388 | [ --enable-qte QT Embedded support (default disabled)]) |
|---|
| 1389 | | if test "x${enable_qte}" = "xyes" |
|---|
| | 1389 | if test "x${enable_qte}" != "xno" |
|---|
| 1390 | 1390 | then |
|---|
| 1391 | 1391 | AC_ARG_WITH(qte, |
|---|
| … | … | |
| 1394 | 1394 | then |
|---|
| 1395 | 1395 | test_LDFLAGS="-L${QTDIR}/lib" |
|---|
| 1396 | | test_CFLAGS="-I$(QTDIR)/include/qte" |
|---|
| | 1396 | test_CFLAGS="-I$(QTDIR)/include" |
|---|
| | 1397 | PLUGINS="${PLUGINS} video_output/qte/qte" |
|---|
| 1397 | 1398 | else |
|---|
| 1398 | 1399 | test_LDFLAGS="-L${with_qte}/lib" |
|---|
| 1399 | | test_CFLAGS="-I${with_qte}/include/qte" |
|---|
| 1400 | | fi |
|---|
| 1401 | | |
|---|
| 1402 | | CPPFLAGS="${save_CPPFLAGS} -I${qte_includes}" |
|---|
| 1403 | | AC_CHECK_HEADERS(qte/qte.h, [ |
|---|
| 1404 | | PLUGINS="${PLUGINS} video_output/qte/qte" |
|---|
| 1405 | | qte_CFLAGS ="${qte_CFLAGS} ${test_CFLAGS} -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti" |
|---|
| 1406 | | qte_LDFLAGS ="${qte_LDFLAGS} ${test_LDFLAGS} -lqpe -lqte" |
|---|
| | 1400 | test_CFLAGS="-I${with_qte}/include" |
|---|
| | 1401 | BUILTINS="${BUILTINS} video_output/qte/qte" |
|---|
| | 1402 | fi |
|---|
| | 1403 | |
|---|
| | 1404 | CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}" |
|---|
| | 1405 | AC_CHECK_HEADERS(qt.h, [ |
|---|
| | 1406 | qte_CFLAGS="${qte_CFLAGS} ${test_CFLAGS} -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti" |
|---|
| | 1407 | qte_LDFLAGS="${qte_LDFLAGS} ${test_LDFLAGS} -lqpe -lqte" |
|---|
| 1407 | 1408 | ]) |
|---|
| 1408 | 1409 | CPPFLAGS="${save_CPPFLAGS}" |
|---|
| … | … | |
| 1782 | 1783 | then |
|---|
| 1783 | 1784 | test_LDFLAGS="-L$(QTDIR)/lib" |
|---|
| 1784 | | test_CFLAGS="-I${QTDIR}/include/qte" |
|---|
| | 1785 | test_CFLAGS="-I${QTDIR}/include" |
|---|
| 1785 | 1786 | else |
|---|
| 1786 | 1787 | test_LDFLAGS="-L${with_qte}/lib" |
|---|
| 1787 | | test_CFLAGS="-I${with_qte}/include/qte" |
|---|
| | 1788 | test_CFLAGS="-I${with_qte}/include" |
|---|
| 1788 | 1789 | fi |
|---|
| 1789 | 1790 | |
|---|
| rbc45ea4 |
rba57d25 |
|
| 1 | 1 | List of vlc plugins |
|---|
| 2 | | $Id: LIST,v 1.1 2002/08/06 20:04:26 massiot Exp $ |
|---|
| | 2 | $Id: LIST,v 1.2 2002/09/15 20:54:12 jpsaman Exp $ |
|---|
| 3 | 3 | |
|---|
| 4 | 4 | * a52_system: input module for A52 decapsulation. |
|---|
| … | … | |
| 128 | 128 | * qt: interface module using the Qt widget set. |
|---|
| 129 | 129 | |
|---|
| | 130 | * qte: video output module for Qt Embedded. |
|---|
| | 131 | |
|---|
| 130 | 132 | * rc: interface module using stdio. |
|---|
| 131 | 133 | |
|---|
| rb85c7e1 |
rba57d25 |
|
| 3 | 3 | ***************************************************************************** |
|---|
| 4 | 4 | * Copyright (C) 1998-2002 VideoLAN |
|---|
| 5 | | * $Id: qte.cpp,v 1.1 2002/09/04 21:13:33 jpsaman Exp $ |
|---|
| | 5 | * $Id: qte.cpp,v 1.2 2002/09/15 20:54:12 jpsaman Exp $ |
|---|
| 6 | 6 | * |
|---|
| 7 | 7 | * Authors: Gerald Hansink <gerald.hansink@ordain.nl> |
|---|
| … | … | |
| 39 | 39 | #include <string.h> /* strerror() */ |
|---|
| 40 | 40 | |
|---|
| 41 | | #include <videolan/vlc.h> |
|---|
| | 41 | #include <vlc/vlc.h> |
|---|
| | 42 | #include <vlc/intf.h> |
|---|
| | 43 | #include <vlc/vout.h> |
|---|
| 42 | 44 | |
|---|
| 43 | 45 | #ifdef HAVE_MACHINE_PARAM_H |
|---|
| … | … | |
| 65 | 67 | #endif |
|---|
| 66 | 68 | |
|---|
| 67 | | #include "video.h" |
|---|
| 68 | | #include "video_output.h" |
|---|
| 69 | | |
|---|
| 70 | | #include "interface.h" |
|---|
| 71 | 69 | #include "netutils.h" /* network_ChannelJoin */ |
|---|
| 72 | | |
|---|
| 73 | | #include "stream_control.h" /* needed by input_ext-intf.h... */ |
|---|
| 74 | | #include "input_ext-intf.h" |
|---|
| 75 | | |
|---|
| 76 | 70 | #include "qte.h" |
|---|
| 77 | 71 | |
|---|
| … | … | |
| 98 | 92 | |
|---|
| 99 | 93 | /***************************************************************************** |
|---|
| | 94 | * Local prototypes |
|---|
| | 95 | *****************************************************************************/ |
|---|
| | 96 | static int Open ( vlc_object_t * ); |
|---|
| | 97 | static void Close ( vlc_object_t * ); |
|---|
| | 98 | static void Render ( vout_thread_t *, picture_t * ); |
|---|
| | 99 | static void Display ( vout_thread_t *, picture_t * ); |
|---|
| | 100 | static int Manage ( vout_thread_t * ); |
|---|
| | 101 | static int Init ( vout_thread_t * ); |
|---|
| | 102 | static void End ( vout_thread_t * ); |
|---|
| | 103 | |
|---|
| | 104 | static int CreateQtWindow ( vout_thread_t * ); |
|---|
| | 105 | static void DestroyQtWindow( vout_thread_t * ); |
|---|
| | 106 | |
|---|
| | 107 | static int NewPicture ( vout_thread_t *, picture_t * ); |
|---|
| | 108 | static void FreePicture ( vout_thread_t *, picture_t * ); |
|---|
| | 109 | |
|---|
| | 110 | static void ToggleFullScreen ( vout_thread_t * ); |
|---|
| | 111 | |
|---|
| | 112 | static void *RunQtThread( void *pVoid ); |
|---|
| | 113 | |
|---|
| | 114 | /***************************************************************************** |
|---|
| 100 | 115 | * Exported prototypes |
|---|
| 101 | 116 | *****************************************************************************/ |
|---|
| … | … | |
| 111 | 126 | vlc_module_end(); |
|---|
| 112 | 127 | |
|---|
| 113 | | /***************************************************************************** |
|---|
| 114 | | * Local prototypes |
|---|
| 115 | | *****************************************************************************/ |
|---|
| 116 | | static int Open ( vlc_object_t * ); |
|---|
| 117 | | static void Close ( vlc_object_t * ); |
|---|
| 118 | | static void Render ( vout_thread_t *, picture_t * ); |
|---|
| 119 | | static void Display ( vout_thread_t *, picture_t * ); |
|---|
| 120 | | static int Manage ( vout_thread_t * ); |
|---|
| 121 | | static int Init ( vout_thread_t * ); |
|---|
| 122 | | static void End ( vout_thread_t * ); |
|---|
| 123 | | |
|---|
| 124 | | static int CreateQtWindow ( vout_thread_t * ); |
|---|
| 125 | | static void DestroyQtWindow( vout_thread_t * ); |
|---|
| 126 | | |
|---|
| 127 | | static int NewPicture ( vout_thread_t *, picture_t * ); |
|---|
| 128 | | static void FreePicture ( vout_thread_t *, picture_t * ); |
|---|
| 129 | | |
|---|
| 130 | | static void ToggleFullScreen ( vout_thread_t * ); |
|---|
| 131 | | |
|---|
| 132 | | static void* run_qtapp_exec (void* pVoid); |
|---|
| 133 | 128 | |
|---|
| 134 | 129 | /***************************************************************************** |
|---|
| … | … | |
| 144 | 139 | static int Open( vlc_object_t *p_this ) |
|---|
| 145 | 140 | { |
|---|
| 146 | | //msg_Err( "+vout_Create::qte" ); |
|---|
| | 141 | //msg_Err(p_vout, "+vout_Create::qte" ); |
|---|
| 147 | 142 | vout_thread_t * p_vout = (vout_thread_t *)p_this; |
|---|
| 148 | 143 | |
|---|
| 149 | 144 | /* Allocate structure */ |
|---|
| 150 | | p_vout->p_sys = (vout_sys_s*) malloc( sizeof( vout_sys_t ) ); |
|---|
| | 145 | p_vout->p_sys = (struct vout_sys_t*) malloc( sizeof( struct vout_sys_t ) ); |
|---|
| 151 | 146 | |
|---|
| 152 | 147 | if( p_vout->p_sys == NULL ) |
|---|
| … | … | |
| 156 | 151 | } |
|---|
| 157 | 152 | |
|---|
| 158 | | // memset(p_vout->p_sys, 0, sizeof( vout_sys_t )); |
|---|
| | 153 | // memset(p_vout->p_sys, 0, sizeof( struct vout_sys_t )); |
|---|
| 159 | 154 | |
|---|
| 160 | 155 | p_vout->pf_init = Init; |
|---|
| … | … | |
| 166 | 161 | CreateQtWindow(p_vout); |
|---|
| 167 | 162 | |
|---|
| 168 | | //msg_Err( "-vout_Create::qte\n" ); |
|---|
| | 163 | //msg_Err(p_vout, "-vout_Create::qte\n" ); |
|---|
| 169 | 164 | return( 0 ); |
|---|
| 170 | 165 | } |
|---|
| … | … | |
| 179 | 174 | vout_thread_t * p_vout = (vout_thread_t *)p_this; |
|---|
| 180 | 175 | |
|---|
| 181 | | //msg_Err( "+vout_Destroy::qte\n" ); |
|---|
| | 176 | //msg_Err( p_vout, "+vout_Destroy::qte\n" ); |
|---|
| 182 | 177 | DestroyQtWindow(p_vout); |
|---|
| 183 | 178 | free(p_vout->p_sys); |
|---|
| … | … | |
| 197 | 192 | int dd = QPixmap::defaultDepth(); |
|---|
| 198 | 193 | |
|---|
| 199 | | //msg_Err( "+vout_Init::qte\n" ); |
|---|
| | 194 | //msg_Err( p_vout,"+vout_Init::qte\n" ); |
|---|
| 200 | 195 | |
|---|
| 201 | 196 | I_OUTPUTPICTURES = 0; |
|---|
| 202 | 197 | |
|---|
| 203 | | p_vout->output.i_chroma = (dd == 16) ? FOURCC_RV16 : FOURCC_RV32; |
|---|
| | 198 | p_vout->output.i_chroma = (dd == 16) ? VLC_FOURCC('R','V','1','6'): VLC_FOURCC('R','V','3','2'); |
|---|
| 204 | 199 | p_vout->output.i_rmask = 0xf800; |
|---|
| 205 | 200 | p_vout->output.i_gmask = 0x07e0; |
|---|
| … | … | |
| 240 | 235 | } |
|---|
| 241 | 236 | |
|---|
| 242 | | //msg_Err( "-vout_Init::qte %d output pictures\n", I_OUTPUTPICTURES); |
|---|
| | 237 | //msg_Err(p_vout, "-vout_Init::qte %d output pictures\n", I_OUTPUTPICTURES); |
|---|
| 243 | 238 | |
|---|
| 244 | 239 | return( 0 ); |
|---|
| … | … | |
| 251 | 246 | static void Render( vout_thread_t *p_vout, picture_t *p_pic ) |
|---|
| 252 | 247 | { |
|---|
| 253 | | //msg_Err( "+vout_Render::qte\n" ); |
|---|
| | 248 | //msg_Err(p_vout, "+vout_Render::qte\n" ); |
|---|
| 254 | 249 | ; |
|---|
| 255 | 250 | } |
|---|
| … | … | |
| 325 | 320 | static int Manage( vout_thread_t *p_vout ) |
|---|
| 326 | 321 | { |
|---|
| 327 | | //msg_Err( "+vout_Manage::qte\n" ); |
|---|
| | 322 | //msg_Err(p_vout, "+vout_Manage::qte\n" ); |
|---|
| 328 | 323 | return 0; |
|---|
| 329 | 324 | } |
|---|
| … | … | |
| 339 | 334 | int i_index; |
|---|
| 340 | 335 | |
|---|
| 341 | | //msg_Err( "+vout_End::qte\n" ); |
|---|
| | 336 | //msg_Err(p_vout, "+vout_End::qte\n" ); |
|---|
| 342 | 337 | |
|---|
| 343 | 338 | /* Free the direct buffers we allocated */ |
|---|
| … | … | |
| 359 | 354 | int dd = QPixmap::defaultDepth(); |
|---|
| 360 | 355 | |
|---|
| 361 | | //msg_Err( "+NewPicture::dd = %d\n",dd ); |
|---|
| | 356 | //msg_Err(p_vout, "+NewPicture::dd = %d\n",dd ); |
|---|
| 362 | 357 | |
|---|
| 363 | 358 | p_pic->p_sys = (picture_sys_t*) malloc( sizeof( picture_sys_t ) ); |
|---|
| … | … | |
| 370 | 365 | switch(p_vout->output.i_chroma) |
|---|
| 371 | 366 | { |
|---|
| 372 | | case FOURCC_RV16: |
|---|
| | 367 | case VLC_FOURCC('R','V','1','6'): |
|---|
| 373 | 368 | if(dd == 16) |
|---|
| 374 | 369 | { |
|---|
| … | … | |
| 387 | 382 | |
|---|
| 388 | 383 | p_pic->p->i_lines = p_vout->output.i_height; |
|---|
| 389 | | p_pic->p->i_pixel_bytes = 2; |
|---|
| 390 | | p_pic->p->b_margin = 0; |
|---|
| | 384 | p_pic->p->i_pixel_pitch = 2; |
|---|
| | 385 | p_pic->p->i_visible_pitch = 0; |
|---|
| | 386 | // p_pic->p->i_pixel_bytes = 2; |
|---|
| | 387 | // p_pic->p->b_margin = 0; |
|---|
| 391 | 388 | p_pic->i_planes = 1; |
|---|
| | 389 | |
|---|
| | 390 | |
|---|
| 392 | 391 | } |
|---|
| 393 | 392 | else |
|---|
| … | … | |
| 396 | 395 | } |
|---|
| 397 | 396 | break; |
|---|
| 398 | | case FOURCC_RV32: |
|---|
| | 397 | case VLC_FOURCC('R','V','3','2'): |
|---|
| 399 | 398 | if(dd == 32) |
|---|
| 400 | 399 | { |
|---|
| … | … | |
| 413 | 412 | |
|---|
| 414 | 413 | p_pic->p->i_lines = p_vout->output.i_height; |
|---|
| 415 | | p_pic->p->i_pixel_bytes = 4; |
|---|
| 416 | | p_pic->p->b_margin = 0; |
|---|
| | 414 | p_pic->p->i_pixel_pitch = 4; |
|---|
| | 415 | p_pic->p->i_visible_pitch = 0; |
|---|
| | 416 | // p_pic->p->i_pixel_bytes = 4; |
|---|
| | 417 | // p_pic->p->b_margin = 0; |
|---|
| 417 | 418 | p_pic->i_planes = 1; |
|---|
| 418 | 419 | } |
|---|
| … | … | |
| 428 | 429 | |
|---|
| 429 | 430 | /* |
|---|
| 430 | | msg_Err( "NewPicture: %d %d %d\n",p_vout->output.i_width, |
|---|
| | 431 | msg_Err(p_vout, "NewPicture: %d %d %d\n",p_vout->output.i_width, |
|---|
| 431 | 432 | p_vout->output.i_height, |
|---|
| 432 | 433 | p_vout->output.i_chroma ); |
|---|
| … | … | |
| 462 | 463 | static int CreateQtWindow( vout_thread_t *p_vout ) |
|---|
| 463 | 464 | { |
|---|
| 464 | | //msg_Err( "vout_qt: +init qt window"); |
|---|
| | 465 | //msg_Err(p_vout, "vout_qt: +init qt window"); |
|---|
| 465 | 466 | |
|---|
| 466 | 467 | /* for displaying the vout in a qt window we need the QtApplication */ |
|---|
| … | … | |
| 471 | 472 | |
|---|
| 472 | 473 | /* create thread to exec the qpe application */ |
|---|
| | 474 | // if ( vlc_thread_create( &thread_id, "video output", RunQtThread, |
|---|
| | 475 | // VLC_THREAD_PRIORITY_OUTPUT, VLC_FALSE) ) |
|---|
| 473 | 476 | if ( vlc_thread_create( &thread_id, "vout qte", |
|---|
| 474 | | (vlc_thread_func_t)vout_run_qtapp_exec, |
|---|
| | 477 | (vlc_thread_func_t)RunQtThread, |
|---|
| 475 | 478 | (void *)p_vout) ) |
|---|
| 476 | 479 | { |
|---|
| 477 | | msg_Err( "input error: can't spawn vout thread"); |
|---|
| | 480 | msg_Err( p_vout, "input error: can't spawn video output thread"); |
|---|
| 478 | 481 | return( -1 ); |
|---|
| 479 | 482 | } |
|---|
| … | … | |
| 521 | 524 | * main loop of qtapplication |
|---|
| 522 | 525 | *****************************************************************************/ |
|---|
| 523 | | static void* |
|---|
| 524 | | run_qtapp_exec(void* pVoid) |
|---|
| | 526 | static void *RunQtThread( void *pVoid) |
|---|
| 525 | 527 | { |
|---|
| 526 | 528 | int argc = 0; |
|---|
| 527 | | char arg0[] = "vout qte"; |
|---|
| 528 | 529 | |
|---|
| 529 | 530 | vout_thread_t* p_vout = (vout_thread_t*) pVoid; |
|---|
| … | … | |
| 537 | 538 | p_vout->p_sys->bOwnsQApp = TRUE; |
|---|
| 538 | 539 | } |
|---|
| 539 | | else |
|---|
| 540 | | { |
|---|
| 541 | | return NULL; |
|---|
| 542 | | } |
|---|
| 543 | 540 | } |
|---|
| 544 | 541 | else |
|---|
| … | … | |
| 547 | 544 | } |
|---|
| 548 | 545 | |
|---|
| 549 | | { |
|---|
| 550 | | QWidget vo(0, "vout"); |
|---|
| | 546 | if (p_vout->p_sys->pcQApplication) |
|---|
| | 547 | { |
|---|
| | 548 | QWidget vo(0, "qte"); |
|---|
| 551 | 549 | vo.showFullScreen(); |
|---|
| 552 | 550 | vo.show(); |
|---|
| … | … | |
| 573 | 571 | p_vout->p_sys->pcQApplication = NULL; |
|---|
| 574 | 572 | } |
|---|
| 575 | | |
|---|
| 576 | | return 0; |
|---|
| 577 | | } |
|---|
| 578 | | |
|---|
| | 573 | } |
|---|
| | 574 | |
|---|
| rb85c7e1 |
rba57d25 |
|
| 3 | 3 | ***************************************************************************** |
|---|
| 4 | 4 | * Copyright (C) 1998-2002 VideoLAN |
|---|
| 5 | | * $Id: qte.h,v 1.1 2002/09/04 21:13:33 jpsaman Exp $ |
|---|
| | 5 | * $Id: qte.h,v 1.2 2002/09/15 20:54:12 jpsaman Exp $ |
|---|
| 6 | 6 | * |
|---|
| 7 | 7 | * Authors: Gerald Hansink <gerald.hansink@ordain.nl> |
|---|
| … | … | |
| 34 | 34 | * It describes the specific properties of an video output plugin |
|---|
| 35 | 35 | *****************************************************************************/ |
|---|
| 36 | | typedef struct vout_sys_s |
|---|
| | 36 | struct vout_sys_t |
|---|
| 37 | 37 | { |
|---|
| 38 | 38 | /* Internal settings and properties */ |
|---|
| … | … | |
| 45 | 45 | QApplication* pcQApplication; |
|---|
| 46 | 46 | QWidget* pcVoutWidget; |
|---|
| 47 | | } vout_sys_t; |
|---|
| | 47 | }; |
|---|
| 48 | 48 | |
|---|
| 49 | 49 | |
|---|
| … | … | |
| 51 | 51 | * picture_sys_t: direct buffer method descriptor |
|---|
| 52 | 52 | *****************************************************************************/ |
|---|
| 53 | | typedef struct picture_sys_s |
|---|
| | 53 | struct picture_sys_t |
|---|
| 54 | 54 | { |
|---|
| 55 | 55 | QImage* pQImage; |
|---|
| 56 | | } picture_sys_t; |
|---|
| | 56 | }; |
|---|
| 57 | 57 | |
|---|
| 58 | 58 | |
|---|