Re: MID proposal

D Richard Felker III <[email protected]>
Newsgroups gmane.comp.video.mplayer.g2.devel
Message-ID <[email protected]>
On Sat, Nov 01, 2003 at 04:38:14PM +0100, Alex Beregszaszi wrote:
> Hi,
> 
> Here's my idea of a IMGFMT replacement: MID stands for MPlayer Image
> Description.

Some more questions...

> MID {
> imgfmt (?)

Rename to fourcc.

> type (rgb or yuv)

Rename to colorspace or something.

> bpp
> depth

What is the point of depth? How is it defined?

> chroma_x_shift
> chroma_y_shift

I always found these names excessively verbose to type when writing
filters. Any better ideas?

> num_planes (>1 -> planar)

See my other mail.

> fields (interlacing)

Hm? Does this just tell if the image is interlaced, or does it contain
other flags about the interlacing format?

> }
> 
> MPI {
> mid
> flags
> type
> width, height
> x,y,w,h

The whole width, height, x, y, w, h system is nonsense. x,y are never
used and not even supported. They're much better handled by just
adjusting the actual pointers. Also lots of filters don't understand
the difference between w and width, which is very silly to begin with.
In the new vp code I'm working on, width/height/x/y are entirely
eliminated, and the stride restrictions are cleaned up a lot. There's
now:

#define VP_STRIDE_MB_ALIGNED 0x1    // stride%(16*bpp) == 0
#define VP_STRIDE_PIXEL_ALIGNED 0x2 // stride%bpp == 0
#define VP_STRIDE_EXACT_WIDTH 0x4   // stride==bpp*w
#define VP_STRIDE_COMMON 0x8        // stride[1,2]==stride[0]>>shift

Codecs which wanted MP_IMGFLAG_ACCEPT_WIDTH before can now just use
VP_STRIDE_PIXEL_ALIGNED and stride/bpp will be the old width field.
(Note for simplicity here I use bpp=bytes/pixel, even though it really
means bits... :)

Rich
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.