[MPlayer-dev-eng] What is the format of 4bpp? (postproc/yuv2rgb related)

Ivan Kalvachev ivan at cacad.com
Wed Jan 29 21:18:53 CET 2003


Well this quesion may sound silly but it is not.
One could suggest that 4bpp mode will use one byte for 2 pixels. This
way  the stride will be about half width (or more).
Well the yuv2rgb functions don't think so. They use the svga's vga_draw*
packing that is one byte for one pixel! You could image what happens
when vf_scale calls yuv2rgb, and when the vo_ system fills the mpi with
"right" values -> screen corruption (2 images overlaped , one is shifted
by half size).
My letter is mainly to ask, what format should the bgr4/rgb4 be? I think
that the normal behavior (2 pixels in byte) should be used. Well I
cannot fix the yuv2rgb scaller.
Anyway for vo_svga the old (1 pixel per byte) conversion should remain
(it may need a new  img_format(e.g. PLT4). Or better not. I'm making
rewrite of vo_svga so i don't need the it.
Oh i've nearly forgot, the the svgalib's vga_drawscansegment() uses
struct for caclulating bits to be writen in the plane banks, it is not
very fast anyway, so this format just wastes space and speed.

Ivan Kalvachev





More information about the MPlayer-dev-eng mailing list