Mercurial > mplayer.hg
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 |