mirror of
https://github.com/mpv-player/mpv
synced 2025-03-11 08:37:59 +00:00
alloc frame buffer for directshow codec - requires for avifile sync
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1548 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
40f28a4215
commit
4b0e21e356
@ -171,6 +171,7 @@ switch(sh_video->codec->driver){
|
|||||||
// GUI_MSG( mplCompileWithoutDSSupport )
|
// GUI_MSG( mplCompileWithoutDSSupport )
|
||||||
// exit(1);
|
// exit(1);
|
||||||
#else
|
#else
|
||||||
|
int bpp;
|
||||||
if(DS_VideoDecoder_Open(sh_video->codec->dll,&sh_video->codec->guid, sh_video->bih, 0, &sh_video->our_out_buffer)){
|
if(DS_VideoDecoder_Open(sh_video->codec->dll,&sh_video->codec->guid, sh_video->bih, 0, &sh_video->our_out_buffer)){
|
||||||
// if(DS_VideoDecoder_Open(sh_video->codec->dll,&sh_video->codec->guid, sh_video->bih, 0, NULL)){
|
// if(DS_VideoDecoder_Open(sh_video->codec->dll,&sh_video->codec->guid, sh_video->bih, 0, NULL)){
|
||||||
printf("ERROR: Couldn't open required DirectShow codec: %s\n",sh_video->codec->dll);
|
printf("ERROR: Couldn't open required DirectShow codec: %s\n",sh_video->codec->dll);
|
||||||
@ -192,15 +193,20 @@ switch(sh_video->codec->driver){
|
|||||||
switch(out_fmt){
|
switch(out_fmt){
|
||||||
case IMGFMT_YUY2:
|
case IMGFMT_YUY2:
|
||||||
case IMGFMT_UYVY:
|
case IMGFMT_UYVY:
|
||||||
|
bpp=16;
|
||||||
DS_VideoDecoder_SetDestFmt(16,out_fmt);break; // packed YUV
|
DS_VideoDecoder_SetDestFmt(16,out_fmt);break; // packed YUV
|
||||||
case IMGFMT_YV12:
|
case IMGFMT_YV12:
|
||||||
case IMGFMT_I420:
|
case IMGFMT_I420:
|
||||||
case IMGFMT_IYUV:
|
case IMGFMT_IYUV:
|
||||||
|
bpp=12;
|
||||||
DS_VideoDecoder_SetDestFmt(12,out_fmt);break; // planar YUV
|
DS_VideoDecoder_SetDestFmt(12,out_fmt);break; // planar YUV
|
||||||
default:
|
default:
|
||||||
|
bpp=((out_fmt&255)+7)&(~7);
|
||||||
DS_VideoDecoder_SetDestFmt(out_fmt&255,0); // RGB/BGR
|
DS_VideoDecoder_SetDestFmt(out_fmt&255,0); // RGB/BGR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sh_video->our_out_buffer = shmem_alloc(sh_video->disp_w*sh_video->disp_h*bpp/8); // FIXME!!!
|
||||||
|
|
||||||
DS_VideoDecoder_Start();
|
DS_VideoDecoder_Start();
|
||||||
|
|
||||||
DS_SetAttr_DivX("Quality",divx_quality);
|
DS_SetAttr_DivX("Quality",divx_quality);
|
||||||
|
Loading…
Reference in New Issue
Block a user