[Mplayer-users] Asus ASV2 codec

Jens Hoffmann hoffmajs at gmx.de
Sat Apr 14 20:55:31 CEST 2001


Arpi wrote:
> 
> Hi,
> 
> > I did a "grep UYVY /usr/lib/win32/*" and most players seems to know it
> > but forcing divxc32.dll to use it, didnt work (ICDecompressQuery failed)
> no, it's a bug (or what) in divx and mpeg4 codecs.
> there is a workaround, it's called YUVHACK by me. you must init and query
> the codec with RGB16 format, but change the biCompression field to YUY2
> (or other YUV format) whan call decompress. It works this way.
> I dunno why aren't YUV formats accepted by init/query functions.

ah, i  wondered why the outfmt didnt get set when yuvhack was enabled..
does that mean it does only YUY2?

> > i noted also that on some testfile the video jumps occasionaly (its
> > small size
> > and no probleme for my cpu) and another file (larger resolution) seems
> > to not skip frames.

note, this is both with UYVY!

> > and another thing: when i output the avi with an RGB format,
> > after some seconds playing, i get an error in the demuxer:
> >     DEMUXER: Too many (51 in 4243072 bytes) video packets in the buffer!
> >     (maybe you play a non-interleaved stream/file or video codec failed)
> > then the audio (uncompressed pcm) stops playing, but the video still
> > plays..
> your video card is slow for displaying RGB frames, isn't?

its not that slow.. displaying highres divx with vo x11 does work more
or less ok
i.e. no demuxer problems


oh, and i just saw that the changes are applied to cvs but with a liitle
bug:

videocodec asv2
  info "ASUS V2"
  status buggy
- comment "pixelized image, upside down" 
+ comment "pixelized image" 
  fourcc ASV2
  driver vfw
  dll "asusasv2.dll"
-  out YVYU
+  out UYVY flip 

its UYVY not YVYU as stated in DOCS/CODECS.. and yes i did get confused
too with all these Us Y and Vs :)
oh and in vo_sdl are the additional IMGFMTS missing in the init
function:
instead of

       switch(format){
          case IMGFMT_YV12:
                sdl_format=SDL_YV12_OVERLAY;
                printf("SDL: Using YV12 image format\n");
          break;
          case IMGFMT_YUY2:
                sdl_format=SDL_YUY2_OVERLAY;
                printf("SDL: Using YUY2 image format\n");
          break;
          case IMGFMT_UYVY:
                sdl_format=SDL_UYVY_OVERLAY;
                printf("SDL: Using UYVY image format\n");
          break;
          default:
            printf("SDL: Unsupported image format (0x%X)\n",format);
            return -1;

i´d say something like:

        switch(format){
        case IMGFMT_YV12:
        case IMGFMT_I420:
        case IMGFMT_IYUV:
        case IMGFMT_YUY2:
        case IMGFMT_UYVY:
        case IMGFMT_YUY2:
        case IMGFMT_UYVY:
        case IMGFMT_YVYU:
            printf("SDL: Using 0x%X image format\n", format);
            sdl_format = format;
            break;
        default:
            printf("SDL: Unsupported image format (0x%X)\n",format);
            return -1;
        }

i missed that in my patch.



jens

--
In theory:   theory and practice are the same.
In practice: they aren`t.

_______________________________________________
Mplayer-users mailing list
Mplayer-users at lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/mplayer-users



More information about the MPlayer-users mailing list