AnsweredAssumed Answered

PXP PS Scaling

Question asked by Steve Schefter on Jun 11, 2019
Latest reply on Jun 27, 2019 by Steve Schefter

Can someone clarify the setting of the PS Scale Factor Register (PXP_PS_SCALE) in the Pixel Pipeline?

The description in the iMX6 RMs is a tad confusing/incomplete.


The manual says that each X/Y scale is "two bit integer and 12 bit fractional representation" (total 14 bits) but shows the scales occupying 15 bits each (plus a single reserved bit to make up one 16 bit half-word).  Am I correct to assume they are really 14 bits each (bits 29-16, 13-0) plus two reserved bits?


Next, the manual says "The reciprocal of the scale factor should be loaded into this register", but it is not clear how to make a "reciprocal" out of the above bit fields.


The following up scaling examples are provided:
00.0100_0000_0000    scale up by 4
00.0010_0000_0000    scale up by 2
00.1010_0000_0000    scale up by 8/5

Especially with the last one I don't see where they are getting the register settings.

The 2x and 4x examples might make sense to me, except that I wonder why the most significant nibble is being set.  And how, in that case, would you represent a scaling factor of 0x20 for example?