Main Page   Modules   Data Structures   File List   Data Fields   Related Pages  

Flags for XVID_ENC_FRAME.motion
[Encoder related functions and structures.]


Defines

#define PMV_ADVANCEDDIAMOND8   0x00004000
 Uses advanced diamonds for 8x8 blocks.

#define PMV_ADVANCEDDIAMOND16   0x00008000
 Uses advanced diamonds for 16x16 blocks.

#define PMV_HALFPELDIAMOND16   0x00010000
 Turns on halfpel precision for 16x16 blocks.

#define PMV_HALFPELREFINE16   0x00020000
 Turns on halfpel refinement step.

#define PMV_EXTSEARCH16   0x00040000
 Extends search for 16x16 blocks.

#define PMV_EARLYSTOP16   0x00080000
 Dynamic ME thresholding.

#define PMV_QUICKSTOP16   0x00100000
 Dynamic ME thresholding.

#define PMV_UNRESTRICTED16   0x00200000
 Not implemented.

#define PMV_OVERLAPPING16   0x00400000
 Not implemented.

#define PMV_USESQUARES16   0x00800000
 Use square pattern.

#define PMV_HALFPELDIAMOND8   0x01000000
 see 16x16 equivalent

#define PMV_HALFPELREFINE8   0x02000000
 see 16x16 equivalent

#define PMV_EXTSEARCH8   0x04000000
 see 16x16 equivalent

#define PMV_EARLYSTOP8   0x08000000
 see 16x16 equivalent

#define PMV_QUICKSTOP8   0x10000000
 see 16x16 equivalent

#define PMV_UNRESTRICTED8   0x20000000
 see 16x16 equivalent

#define PMV_OVERLAPPING8   0x40000000
 see 16x16 equivalent

#define PMV_USESQUARES8   0x80000000
 see 16x16 equivalent


Define Documentation

#define PMV_ADVANCEDDIAMOND8   0x00004000
 

Uses advanced diamonds for 8x8 blocks.

Same as its 16x16 companion option

#define PMV_EARLYSTOP16   0x00080000
 

Dynamic ME thresholding.

PMVfast and EPZS stop search if current best is below some dynamic threshhold. No diamond search is done, only halfpel refinement (if active). Without EARLYSTOP diamond search is always done. That would be much slower, but not really lead to better quality.

#define PMV_EARLYSTOP8   0x08000000
 

see 16x16 equivalent

Same as its 16x16 companion option

#define PMV_EXTSEARCH16   0x00040000
 

Extends search for 16x16 blocks.

Normal PMVfast predicts one start vector and does diamond search around this position. EXTSEARCH means that 2 more start vectors are used: (0,0) and median predictor and diamond search is done for those, too. Makes search slightly slower, but quality sometimes gets better.

#define PMV_EXTSEARCH8   0x04000000
 

see 16x16 equivalent

Same as its 16x16 companion option

#define PMV_HALFPELDIAMOND16   0x00010000
 

Turns on halfpel precision for 16x16 blocks.

switches the search algorithm from 1 or 2 full pixels precision to 1 or 2 half pixel precision.

#define PMV_HALFPELDIAMOND8   0x01000000
 

see 16x16 equivalent

Same as its 16x16 companion option

#define PMV_HALFPELREFINE16   0x00020000
 

Turns on halfpel refinement step.

After normal diamond search, an extra halfpel refinement step is performed. Should always be used if XVID_HALFPEL is on, because it gives a rather big increase in quality.

#define PMV_HALFPELREFINE8   0x02000000
 

see 16x16 equivalent

Same as its 16x16 companion option

#define PMV_OVERLAPPING16   0x00400000
 

Not implemented.

Same as above

#define PMV_OVERLAPPING8   0x40000000
 

see 16x16 equivalent

Same as its 16x16 companion option

#define PMV_QUICKSTOP16   0x00100000
 

Dynamic ME thresholding.

like EARLYSTOP, but not even halfpel refinement is done. Normally worse quality, so it defaults to off. Might be removed, too.

#define PMV_QUICKSTOP8   0x10000000
 

see 16x16 equivalent

Same as its 16x16 companion option

#define PMV_UNRESTRICTED16   0x00200000
 

Not implemented.

"unrestricted ME" is a feature of MPEG4. It's not implemented, so this flag is ignored (not even checked).

#define PMV_UNRESTRICTED8   0x20000000
 

see 16x16 equivalent

Same as its 16x16 companion option

#define PMV_USESQUARES16   0x00800000
 

Use square pattern.

Replace the diamond search with a square search.

#define PMV_USESQUARES8   0x80000000
 

see 16x16 equivalent

Same as its 16x16 companion option




Author : XviD team <xvid-devel@xvid.org> Date : 2003-02-13