Mercurial > mplayer.hg
comparison mencoder.c @ 3504:21fc87d76300
support for RGB/BGR modes (tested with raw and divx4)
author | alex |
---|---|
date | Sat, 15 Dec 2001 17:12:20 +0000 |
parents | 9943dbacb48e |
children | 48f3b07e174f |
comparison
equal
deleted
inserted
replaced
3503:7aed2edd99ab | 3504:21fc87d76300 |
---|---|
1 #define VCODEC_COPY 0 | 1 #define VCODEC_COPY 0 |
2 #define VCODEC_FRAMENO 1 | 2 #define VCODEC_FRAMENO 1 |
3 #define VCODEC_DIVX4 2 | 3 #define VCODEC_DIVX4 2 |
4 #define VCODEC_RAW 3 | 4 #define VCODEC_RAW 3 |
5 #define VCODEC_LIBAVCODEC 4 | |
5 | 6 |
6 #define ACODEC_COPY 0 | 7 #define ACODEC_COPY 0 |
7 #define ACODEC_PCM 1 | 8 #define ACODEC_PCM 1 |
8 #define ACODEC_VBRMP3 2 | 9 #define ACODEC_VBRMP3 2 |
9 | 10 |
400 mp_msg(MSGT_MENCODER,MSGL_INFO,"%s video codec: [%s] drv:%d (%s)\n",video_codec?"Forcing":"Detected",sh_video->codec->name,sh_video->codec->driver,sh_video->codec->info); | 401 mp_msg(MSGT_MENCODER,MSGL_INFO,"%s video codec: [%s] drv:%d (%s)\n",video_codec?"Forcing":"Detected",sh_video->codec->name,sh_video->codec->driver,sh_video->codec->info); |
401 | 402 |
402 for(i=0;i<CODECS_MAX_OUTFMT;i++){ | 403 for(i=0;i<CODECS_MAX_OUTFMT;i++){ |
403 out_fmt=sh_video->codec->outfmt[i]; | 404 out_fmt=sh_video->codec->outfmt[i]; |
404 if(out_fmt==0xFFFFFFFF) continue; | 405 if(out_fmt==0xFFFFFFFF) continue; |
406 if(IMGFMT_IS_RGB(out_fmt) || IMGFMT_IS_BGR(out_fmt)) break; | |
405 if(out_fmt==IMGFMT_YV12) break; | 407 if(out_fmt==IMGFMT_YV12) break; |
406 if(out_fmt==IMGFMT_I420) break; | 408 if(out_fmt==IMGFMT_I420) break; |
407 if(out_fmt==IMGFMT_IYUV) break; | 409 if(out_fmt==IMGFMT_IYUV) break; |
408 if(out_fmt==IMGFMT_YUY2) break; | 410 if(out_fmt==IMGFMT_YUY2) break; |
409 if(out_fmt==IMGFMT_UYVY) break; | 411 if(out_fmt==IMGFMT_UYVY) break; |
429 | 431 |
430 if(out_fmt==IMGFMT_YV12 || out_fmt==IMGFMT_I420 || out_fmt==IMGFMT_IYUV){ | 432 if(out_fmt==IMGFMT_YV12 || out_fmt==IMGFMT_I420 || out_fmt==IMGFMT_IYUV){ |
431 vo_image=malloc(vo_w*vo_h*3/2); | 433 vo_image=malloc(vo_w*vo_h*3/2); |
432 vo_image_ptr=vo_image; | 434 vo_image_ptr=vo_image; |
433 } | 435 } |
436 | |
437 if (IMGFMT_IS_BGR(out_fmt)) | |
438 vo_image_ptr = vo_image = malloc(vo_w*vo_h*IMGFMT_BGR_DEPTH(out_fmt)/8); | |
439 | |
440 if (IMGFMT_IS_RGB(out_fmt)) | |
441 vo_image_ptr = vo_image = malloc(vo_w*vo_h*IMGFMT_RGB_DEPTH(out_fmt)/8); | |
434 | 442 |
435 if(!init_video(sh_video)){ | 443 if(!init_video(sh_video)){ |
436 mp_msg(MSGT_MENCODER,MSGL_FATAL,MSGTR_CouldntInitVideoCodec); | 444 mp_msg(MSGT_MENCODER,MSGL_FATAL,MSGTR_CouldntInitVideoCodec); |
437 exit(1); | 445 exit(1); |
438 } | 446 } |