# HG changeset patch # User Matti Hamalainen # Date 1529655615 -10800 # Node ID ee2383d1a21eb140ce84a7bdd3a2feb6508312ec # Parent bea67833b9fa245f3e80c9c2db2d940a5d2e7cfb Improve dmGenericRLEAnalyze() by being better at selecting rleMarker bytes for different combinations of DM_RLE_BYTE_RUNS and DM_RLE_WORD_RUNS flags. diff -r bea67833b9fa -r ee2383d1a21e tools/lib64gfx.c --- a/tools/lib64gfx.c Fri Jun 22 09:59:40 2018 +0300 +++ b/tools/lib64gfx.c Fri Jun 22 11:20:15 2018 +0300 @@ -348,8 +348,21 @@ { if (stats[n] < smallest) { - cfg->rleMarkerW = selected; - cfg->rleMarkerB = selected = n; + switch (cfg->flags & DM_RLE_RUNS_MASK) + { + case DM_RLE_BYTE_RUNS | DM_RLE_WORD_RUNS: + cfg->rleMarkerW = selected; + cfg->rleMarkerB = selected = n; + break; + + case DM_RLE_BYTE_RUNS: + cfg->rleMarkerB = selected = n; + break; + + case DM_RLE_WORD_RUNS: + cfg->rleMarkerW = selected = n; + break; + } smallest = stats[n]; } }