On Thu, 11 Jun 2026 06:08:39 GMT, Jayathirth D V <[email protected]> wrote:
>> We use `Math.ceil()` at 2 places in BMPImageWriter and both of them are >> under encodeRLE4() function. Also they are used only under absolute mode of >> encoding. >> >> First usage `(int)Math.ceil((absVal-1)/2)` is while encoding data in each >> scanline. Here absVal always starts with 3 and increments by 2, so >> `Math.ceil()` is basically a no-op here and its usage can be removed. >> >> Second usage `(int)Math.ceil((absVal+1)/2)` is while encoding end of >> scanline data. Here absVal can be even and we need to use `Math.ceil()` >> properly otherwise padding will not be added properly. I have added >> regression test which actually identifies this issue and it creates a >> corrupt encoded BMP image. In this regression test we have odd number of >> distinct pixels at the end of scanline and encoding without proper padding >> corrupts next scanline of data. >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Jayathirth D V has updated the pull request incrementally with one additional > commit since the last revision: > > Update Marked as reviewed by prr (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/31447#pullrequestreview-4547747446
