Mercurial > hg > dmlib
changeset 1821:ee2383d1a21e
Improve dmGenericRLEAnalyze() by being better at selecting rleMarker bytes
for different combinations of DM_RLE_BYTE_RUNS and DM_RLE_WORD_RUNS flags.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 22 Jun 2018 11:20:15 +0300 |
parents | bea67833b9fa |
children | 9bec535956fd |
files | tools/lib64gfx.c |
diffstat | 1 files changed, 15 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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]; } }