[FFmpeg-devel] [PATCH] Indeo5 decoder

Kostya kostya.shishkov
Mon Mar 30 13:23:23 CEST 2009


On Mon, Mar 30, 2009 at 12:57:42PM +0200, Maxim wrote:
> John Cox schrieb:
> >> Hmm, there are three different macroblock sizes: 16x16, 8x8 and 4x4.
> >> Otherwise the term "macroblock" has the same meaning as by the MPEG...
> >> No idea how to make it more descriptive...
> >>     
> >
> > In which standard is a Macroblock not 16x16?  I'll certainly grant block sizes
> > of 8x8 and 4x4 but in MPEG-1/2, MPEG4-2, H.263, H.264 they all combine to give
> > a macroblock size of 16x16.
> >   
> 
> It's abit different in the Indeo5: there are 3 macroblock sizes as I
> mentioned above. A macroblock can include one or four blocks depending
> on its size. The relation between macroblocks and blocks is the following:
> 
> For luminance plane
> mb_size = 16x16 -> block_size = 8x8 -> blocks_per_mb = 4
> mb_size = 8x8     -> block_size = 8x8 -> blocks_per_mb = 1
> 
> For chrominance planes
> mb_size = 8x8     -> block_size = 4x4 -> blocks_per_mb = 4
> mb_size = 4x4     -> block_size = 8x8 -> blocks_per_mb = 1
> 
> As you can see above there are two cases where mb_size == block_size.
> The main difference between those is that a macroblock can have a motion
> vector/quant delta associated with it and these are shared between all
> blocks in the same mb...

sounds like typical motion partitioning - you have 16x16 macroblock but motion
vector may be one for 4, 2 or one 8x8 block.
 
> Regards
> Maxim



More information about the ffmpeg-devel mailing list