summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/dec_video.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-06-25 22:29:32 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-06-25 22:29:32 +0000
commite7d008251282e1b7c13ae7d41214fae5e87af097 (patch)
tree4e09c384a201dff692d200869bba8596ddca9a38 /libmpcodecs/dec_video.c
parentd7d187300d683aa0e92f98091dc5532cd8b08348 (diff)
downloadmpv-e7d008251282e1b7c13ae7d41214fae5e87af097.tar.bz2
mpv-e7d008251282e1b7c13ae7d41214fae5e87af097.tar.xz
support the 'align16' codec flag
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6567 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/dec_video.c')
-rw-r--r--libmpcodecs/dec_video.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libmpcodecs/dec_video.c b/libmpcodecs/dec_video.c
index 59f044c358..37917a4608 100644
--- a/libmpcodecs/dec_video.c
+++ b/libmpcodecs/dec_video.c
@@ -162,6 +162,18 @@ int init_video(sh_video_t *sh_video,char* codecname,int vfm,int status){
continue;
}
// it's available, let's try to init!
+ if(sh_video->codec->flags & CODECS_FLAG_ALIGN16){
+ // align width/height to n*16
+ // FIXME: save orig w/h, and restore if codec init failed!
+ if(sh_video->bih){
+ sh_video->disp_w=sh_video->bih->biWidth=(sh_video->bih->biWidth+15)&(~15);
+ sh_video->disp_h=sh_video->bih->biHeight=(sh_video->bih->biHeight+15)&(~15);
+ } else {
+ sh_video->disp_w=(sh_video->disp_w+15)&(~15);
+ sh_video->disp_h=(sh_video->disp_h+15)&(~15);
+ }
+ }
+ // init()
mp_msg(MSGT_DECVIDEO,MSGL_INFO,"Opening video decoder: [%s] %s\n",mpvdec->info->short_name,mpvdec->info->name);
if(!mpvdec->init(sh_video)){
mp_msg(MSGT_DECVIDEO,MSGL_INFO,"VDecoder init failed :(\n");