comparison dec_video.c @ 4489:745cf5ba7117

make opendivx codec optional at compiletime
author rfelker
date Sun, 03 Feb 2002 00:52:51 +0000
parents e69bed07cb27
children 382a3c60629e
comparison
equal deleted inserted replaced
4488:7e8910727e7a 4489:745cf5ba7117
78 #endif 78 #endif
79 #ifdef FF_POSTPROCESS 79 #ifdef FF_POSTPROCESS
80 unsigned int lavc_pp=0; 80 unsigned int lavc_pp=0;
81 #endif 81 #endif
82 82
83 #ifdef USE_DIVX
83 #ifndef NEW_DECORE 84 #ifndef NEW_DECORE
84 #include "opendivx/decore.h" 85 #include "opendivx/decore.h"
85 #else 86 #else
86 #include <decore.h> 87 #include <decore.h>
88 #endif
87 #endif 89 #endif
88 90
89 #ifdef USE_XANIM 91 #ifdef USE_XANIM
90 #include "xacodec.h" 92 #include "xacodec.h"
91 #endif 93 #endif
221 #endif 223 #endif
222 #ifdef FF_POSTPROCESS 224 #ifdef FF_POSTPROCESS
223 case VFM_FFMPEG: 225 case VFM_FFMPEG:
224 return GET_PP_QUALITY_MAX; 226 return GET_PP_QUALITY_MAX;
225 #endif 227 #endif
228 #ifdef USE_DIVX
226 case VFM_DIVX4: 229 case VFM_DIVX4:
227 case VFM_ODIVX: 230 case VFM_ODIVX:
228 #ifdef NEW_DECORE 231 #ifdef NEW_DECORE
229 return 9; // for divx4linux 232 return 9; // for divx4linux
230 #else 233 #else
231 return GET_PP_QUALITY_MAX; // for opendivx 234 return GET_PP_QUALITY_MAX; // for opendivx
235 #endif
232 #endif 236 #endif
233 } 237 }
234 return 0; 238 return 0;
235 } 239 }
236 240
260 case VFM_FFMPEG: 264 case VFM_FFMPEG:
261 if(quality<0 || quality>GET_PP_QUALITY_MAX) quality=GET_PP_QUALITY_MAX; 265 if(quality<0 || quality>GET_PP_QUALITY_MAX) quality=GET_PP_QUALITY_MAX;
262 lavc_pp=getPpModeForQuality(quality); 266 lavc_pp=getPpModeForQuality(quality);
263 break; 267 break;
264 #endif 268 #endif
269 #ifdef USE_DIVX
265 case VFM_DIVX4: 270 case VFM_DIVX4:
266 case VFM_ODIVX: { 271 case VFM_ODIVX: {
267 DEC_SET dec_set; 272 DEC_SET dec_set;
268 #ifdef NEW_DECORE 273 #ifdef NEW_DECORE
269 if(quality<0 || quality>9) quality=9; 274 if(quality<0 || quality>9) quality=9;
272 if(quality<0 || quality>GET_PP_QUALITY_MAX) quality=GET_PP_QUALITY_MAX; 277 if(quality<0 || quality>GET_PP_QUALITY_MAX) quality=GET_PP_QUALITY_MAX;
273 dec_set.postproc_level=getPpModeForQuality(quality); 278 dec_set.postproc_level=getPpModeForQuality(quality);
274 #endif 279 #endif
275 decore(0x123,DEC_OPT_SETPP,&dec_set,NULL); 280 decore(0x123,DEC_OPT_SETPP,&dec_set,NULL);
276 } 281 }
282 #endif
277 break; 283 break;
278 } 284 }
279 } 285 }
280 286
281 int set_video_colors(sh_video_t *sh_video,char *item,int value) 287 int set_video_colors(sh_video_t *sh_video,char *item,int value)
401 #ifdef USE_XANIM 407 #ifdef USE_XANIM
402 case VFM_XANIM: 408 case VFM_XANIM:
403 xacodec_exit(); 409 xacodec_exit();
404 break; 410 break;
405 #endif 411 #endif
412 #ifdef USE_DIVX
406 case VFM_DIVX4: 413 case VFM_DIVX4:
407 case VFM_ODIVX: 414 case VFM_ODIVX:
408 decore(0x123,DEC_OPT_RELEASE,NULL,NULL); 415 decore(0x123,DEC_OPT_RELEASE,NULL,NULL);
409 break; 416 break;
417 #endif
410 } 418 }
411 if(sh_video->our_out_buffer){ 419 if(sh_video->our_out_buffer){
412 free(sh_video->our_out_buffer); 420 free(sh_video->our_out_buffer);
413 sh_video->our_out_buffer=NULL; 421 sh_video->our_out_buffer=NULL;
414 } 422 }
531 case VFM_VFWEX: 539 case VFM_VFWEX:
532 mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_NoWfvSupport); 540 mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_NoWfvSupport);
533 return 0; 541 return 0;
534 #endif /* !USE_WIN32DLL */ 542 #endif /* !USE_WIN32DLL */
535 case VFM_ODIVX: { // OpenDivX 543 case VFM_ODIVX: { // OpenDivX
544 #ifndef USE_DIVX
545 mp_msg(MSGT_DECVIDEO,MSGL_ERR,"MPlayer was compiled WITHOUT OpenDivx support!\n");
546 return 0;
547 #else
536 mp_msg(MSGT_DECVIDEO,MSGL_V,"OpenDivX video codec\n"); 548 mp_msg(MSGT_DECVIDEO,MSGL_V,"OpenDivX video codec\n");
537 { DEC_PARAM dec_param; 549 { DEC_PARAM dec_param;
538 DEC_SET dec_set; 550 DEC_SET dec_set;
539 memset(&dec_param,0,sizeof(dec_param)); 551 memset(&dec_param,0,sizeof(dec_param));
540 #ifdef NEW_DECORE 552 #ifdef NEW_DECORE
548 dec_set.postproc_level = divx_quality; 560 dec_set.postproc_level = divx_quality;
549 decore(0x123, DEC_OPT_SETPP, &dec_set, NULL); 561 decore(0x123, DEC_OPT_SETPP, &dec_set, NULL);
550 } 562 }
551 mp_msg(MSGT_DECVIDEO,MSGL_V,"INFO: OpenDivX video codec init OK!\n"); 563 mp_msg(MSGT_DECVIDEO,MSGL_V,"INFO: OpenDivX video codec init OK!\n");
552 break; 564 break;
565 #endif
553 } 566 }
554 case VFM_DIVX4: { // DivX4Linux 567 case VFM_DIVX4: { // DivX4Linux
555 #ifndef NEW_DECORE 568 #ifndef NEW_DECORE
556 mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_NoDivx4Support); 569 mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_NoDivx4Support);
557 return 0; 570 return 0;
811 mpi->stride[2]=image->stride[2]; 824 mpi->stride[2]=image->stride[2];
812 } 825 }
813 break; 826 break;
814 } 827 }
815 #endif 828 #endif
829 #ifdef USE_DIVX
816 case VFM_ODIVX: { 830 case VFM_ODIVX: {
817 // OpenDivX 831 // OpenDivX
818 DEC_FRAME dec_frame; 832 DEC_FRAME dec_frame;
819 #ifdef NEW_DECORE 833 #ifdef NEW_DECORE
820 DEC_PICTURE dec_pic; 834 DEC_PICTURE dec_pic;
859 } 873 }
860 #endif 874 #endif
861 875
862 break; 876 break;
863 } 877 }
878 #endif
864 #ifdef NEW_DECORE 879 #ifdef NEW_DECORE
865 case VFM_DIVX4: { 880 case VFM_DIVX4: {
866 // DivX4Linux 881 // DivX4Linux
867 DEC_FRAME dec_frame; 882 DEC_FRAME dec_frame;
868 // let's decode 883 // let's decode