All pastes #225154 Raw Edit

Mine

public text v1 · immutable
#225154 ·published 2006-10-27 19:55 UTC
rendered paste body
Index: etc/codecs.conf
===================================================================
--- etc/codecs.conf     (revision 20469)
+++ etc/codecs.conf     (working copy)
@@ -541,7 +541,7 @@
 videocodec ffwmv3
   info "FFmpeg M$ WMV3/WMV9"
   status buggy
-  fourcc WMV3,wmv3
+  fourcc WMV3,wmv3,WMVP
   driver ffmpeg
   dll wmv3
   out YV12,I420,IYUV
@@ -1928,6 +1928,7 @@
   status working
   driver raw
   format 0x0
+  format 0x20524742
   out BGR32 flip
 
 videocodec rawbgr32
@@ -1943,6 +1944,7 @@
   status working
   driver raw
   format 0x0
+  format 0x18524742
   out BGR24 flip
 
 videocodec rawbgr24
@@ -1959,6 +1961,7 @@
   status working
   driver raw
   format 0x0
+  format 0x10524742
   out BGR16 flip
 
 videocodec rawbgr16
@@ -1975,6 +1978,7 @@
   status working
   driver raw
   format 0x0
+  format 0x0F524742
   out BGR15 flip
 
 videocodec rawbgr15
@@ -1991,6 +1995,7 @@
   status working
   driver raw
   format 0x0
+  format 0x08524742
   out BGR8 flip
 
 videocodec rawbgr8
Index: libmpcodecs/vd_raw.c
===================================================================
--- libmpcodecs/vd_raw.c        (revision 20469)
+++ libmpcodecs/vd_raw.c        (working copy)
@@ -28,6 +28,7 @@
 
 // init driver
 static int init(sh_video_t *sh){
+    int format = sh->format;
     // set format fourcc for raw RGB:
     if(sh->bih && sh->bih->biCompression==0){  // set based on bit depth
        switch(sh->bih->biBitCount){
@@ -43,7 +44,15 @@
            mp_msg(MSGT_DECVIDEO,MSGL_WARN,"RAW: depth %d not supported\n",sh->bih->biBitCount);
        }
     }
-    return mpcodecs_config_vo(sh,sh->disp_w,sh->disp_h,sh->bih ? sh->bih->biCompression : sh->format);
+    if (sh->bih && sh->bih->biCompression)
+      format = sh->bih->biCompression;
+printf("%x\n", format);
+    if (bswap_32(format & 0xffffff) == IMGFMT_RGB ||
+        bswap_32(format & 0xffffff) == IMGFMT_BGR)
+      format = bswap_32(format);
+    format = IMGFMT_BGR16;
+printf("%x\n", format);
+    return mpcodecs_config_vo(sh,sh->disp_w,sh->disp_h,format);
 }
 
 // uninit driver