Makeover User Guide


Descriptions - makeover.exe

Makeover is a file conversion utility for supporting the various products which support Overlay: SOC0356, ASX340, ASX344, ASX350, AP0100, AP0102, AP0200.
It can convert any file that it can read into any format that it can write.
It can read RGB or RGB-Alpha PNG,RGB or RGB-Alpha .BMP, JPEG, RGB TIFF, or RLE compressed binary files.
It can write RGB-Alpha PNG, RGB-Alpha .BMP, RLE compressed binary, and DevWare .ini files with the register commands to load the image into the sensor.
If the input file has more than 8 unique colors, this tool will quantize the colors automatically.
If the input file has no Alpha channel, an Alpha channel will be synthesized.
For example, with this tool you could:

  • Convert a binary RLE (run-length encoding) image file to an INI file that can be loaded by DevWare or other Aptina software.
  • Convert an ordinary image file (BMP, PNG, etc.) to RLE data in a binary file or INI file.
  • Color quantize and/or synthesize an alpha plane for an ordinary image file and save it as 32-bit BMP or PNG.
  • Convert a binary RLE file into a PNG or 32-bit BMP file.

Restrictions in BMP to RLE Conversion


The dimensions of the image should be within that supported by the device. Otherwise there is no restriction on the BMP; any BMP can be converted to RLE, but possibly with some loss according to the limits of the RLE format and the device. Two things to keep in mind when creating a BMP for overlay are transparency and number of unique colors.

Typical BMP file format doesn't support transparency, but RLE does. Makeover has options to convert one color from the BMP to transparent. A better solution to control transparency is to use an image format like PNG that supports it.

The number of unique colors supported in an RLE image is very limited, for example 16 on AP0100. Most drawing applications will blend the edges of objects creating many more unique colors than that. Makeover will average similar colors to reduce the number of unique colors to the allowed limit, but this slightly shifts prominent colors, and is somewhat unpredictable around edges of objects. To avoid that ensure that the number of unique colors in the original image is within the limits of the RLE. Note that a pixel's transparency counts as part of the color of the pixel. For example red with 75% transparency and red with 50% transparency are considered two different colors by the RLE format.

Note that a checksum is not generated by the makeover tool; the user will need to generate a checksum required by the target product.

Command line parameters

-inbmp <filename>
Specify the filename of an image file to load. Supported file formats include BMP, PNG, JPEG and TIFF. If the image contains too many unique colors, it will be quantized down to eight colors.

-transparency <rule>
Specify the transparency rule to apply when reading the file given by -inbmp. The transparency rule defines how to generate the image transparency (alpha plane). The rules are:

fromfile
Use the transparency information from the input file unaltered. If the input file had no transparency data then the whole image will be opaque. This is the default.

none
The output image will be completely opaque. If the input file had any transparency information it will be ignored.

brightest
Make the brightest color (after quantization) transparent, all other colors opaque. If the input file had any transparency  information it will be ignored.

white
Make any pixels that were exactly white in the original input image transparent, all others opaque. If the input file had any transparency information it will be ignored.

first
Make upper left corner pixel transparent as well as any other pixels of the same color, all others opaque. If the input  file had any transparency information it will be ignored.

-inrle <filename>
Specify the filename of a binary RLE file to load.

-outini <filename>
Specify the filename of an INI file to receive image loading  commands. The commands will be appended to the end of the file.

-buffer <n>
Specify which buffer on the sensor the operations should apply to.

-cmdtimeout <ms>
Specify the timeout for the generated image loading commands, in milliseconds. Defaults to 1000.

-outbmp <filename>
Specify the filename of an output image file. Supported  file formats are BMP and PNG. The output file will include the transparency information. Most applications can't load BMP files with transparency, but the perl RLE compression tool requires this format. The file format is determined by the filename extension, use .png for a PNG file.

-outrle <filename>
Specify the filename of a file to receive RLE compressed data.

-quantize <number of colors>
Automatically create the color look-up table (LUT) from the colors found in the input image. The parameter specifies the maximum number of unique colors, from 2 to 32. This is mutually exclusive with -colormap. Use -colormap to define a specific color LUT, instead of having this tool create the LUT. Default depends on the RLE format revision; 8 for rev 1 or 2, 16 for rev 3, 32 for rev 4.

-colormap <color-index> <color-value>
Specify the 32 bit representation of the YUVA color of the color LUT  entry that is referred to by color-index. Color-index values range between 0 and 31. Using repeated -colormap options, specify all colors that are to be included in the output RLE file. Use consecutive color-index values. (This option turns off automatic color LUT creation.). The color-value is specified as Y, U, V, Alpha, Ex: 0x203040F0.

-posx <n>
Specify value for OffsetX field in RLE header.

-posy <n>
Specify value for OffsetY field in RLE header.

-color <color-index> <mask> <color-value>
Modify color LUT entries in the output RLE file. Specify the 32 bit representation of the YUVA color of the color LUT entry that is referred to by color-index. Color-index values range  between 0 and 31, and it must be smaller than the value specified with     the parameter \"-quantize\". The mask specifies which parts of the color entry will be modified. This gives the flexibility to modify only a subset of the color value while leaving the rest unchanged, e.g. to just modify the transparency. The color-value is specified as Y, U, V, Alpha, Ex: 0x203040F0.

-blink <n>
Specify value for Blink Interval field in RLE header.

-timeout <n>
Specify value for Timeout Interval field in RLE header.

-imagecontrol <n>
Specify value for Image Control field in RLE header.

-for <product>
Specify the product name, instead of the RLE overlay bitmap file format directly via the -rev command. Possible values are;  SOC0356-REV1, SOC0356-REV2+, ASX340, ASX344, ASX350,  AP0100, AP0102, AP0200.
When -inrle is used, the revision is determined automatically from the file itself.

-rev <n>
Specify the revision of the RLE overlay bitmap file format directly.
AP0100 series uses rev 3.
AP0102/AP0200 series uses rev 4.
AP0300 uses rev 5.
Only MT9V126 REV1 uses rev 1.
All others use rev 2.
By default the revision is set to 2.
When -inrle is used, the revision is determined automatically from the  file itself.

-cropmode <n>
Specify the crop mode.

nocrop
Disable cropping. This is the default mode.

inside
Crop inside of window.

outside
Crop outside of window.

-cropoffsetx <n>
Specify value for the horizontal offset of crop window relative to the bitmap (in pixels) in RLE header.

-cropoffsety <n>
Specify value for the vertical offset of crop window relative to the bitmap (in pixels) in RLE header.

-cropsizex <n>
Specify the Width of crop window (in pixels) in RLE header.

-cropsizey <n>
Specify the Height of crop window (in pixels) in RLE header.

-noshapes
Do not use shape instructions when encoding RLE.

-faderenable <n>
Specify the fader enable mode, use 1 to enable, 0 to disable.

-faderstartline <n>
Specify line number for the starting point of the fader.

-fadersatrt <n>
Specify start alpha value of the fader.

-fadermax <n>
Specify the max alpha value of the fader.

-faderstep <n>
Specify the step value of the fader.

-parampool <address>
Specify the register address of the sensor command parameter pool. Defaults to 0x0990. If you set this to 0 then the tool will address the command pool by symbol name rather than by numerical address.
(Normally you don't need to use this  parameter.)

-paramdriver <n>
Specify the firmware driver number for command parameter pool. Defaults to 31.
(Normally you don't need to use this parameter.)

-paramoffset <n>
Specify the offset for command parameter pool. Defaults to 0.
(Normally you don't need to use this parameter.)