fix(totp): scan QR ecran - indices Byte dans ZXing (boucle infinie a 100 % CPU)

ZXing.Delphi declarait rgbIndex/luminanceIndex en Byte dans les conversions
octets bruts -> luminance : au-dela de 255 ils repassaient a 0, la boucle ne
finissait jamais. L'APK n'y passait pas (CreateFromBitmap). Mesure apres
correctif : 60 ms sur un ecran 1920x1080 avec TRY_HARDER, 86 ms sans QR.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-09-18 22:35:49 +01:00
parent 72f9acd733
commit e3904236a7
2 changed files with 25 additions and 15 deletions
@@ -364,7 +364,7 @@ procedure TRGBLuminanceSource.CalculateLuminanceRGB24(
const rgbRawBytes: TArray<Byte>);
var
rgbIndex,
luminanceIndex,
luminanceIndex : Integer; // pmserver: etaient Byte -> boucle infinie au-dela de 255 octets
r, g, b : Integer;
begin
rgbIndex := 0;
@@ -389,7 +389,7 @@ procedure TRGBLuminanceSource.CalculateLuminanceBGR24(
const rgbRawBytes: TArray<Byte>);
var
rgbIndex,
luminanceIndex,
luminanceIndex : Integer; // pmserver: etaient Byte -> boucle infinie au-dela de 255 octets
b, g, r : Byte;
begin
rgbIndex := 0;
@@ -414,7 +414,7 @@ procedure TRGBLuminanceSource.CalculateLuminanceRGB32(
const rgbRawBytes: TArray<Byte>);
var
rgbIndex,
luminanceIndex,
luminanceIndex : Integer; // pmserver: etaient Byte -> boucle infinie au-dela de 255 octets
r, g, b : Byte;
begin
rgbIndex := 0;
@@ -439,7 +439,7 @@ procedure TRGBLuminanceSource.CalculateLuminanceBGR32(
const rgbRawBytes: TArray<Byte>);
var
rgbIndex,
luminanceIndex,
luminanceIndex : Integer; // pmserver: etaient Byte -> boucle infinie au-dela de 255 octets
b, g, r : Byte;
begin
rgbIndex := 0;
@@ -464,7 +464,7 @@ procedure TRGBLuminanceSource.CalculateLuminanceBGRA32(
const rgbRawBytes: TArray<Byte>);
var
rgbIndex,
luminanceIndex,
luminanceIndex : Integer; // pmserver: etaient Byte -> boucle infinie au-dela de 255 octets
b, g, r,
alpha : Byte;
luminance : Byte;
@@ -495,7 +495,7 @@ procedure TRGBLuminanceSource.CalculateLuminanceRGBA32(
const rgbRawBytes: TArray<Byte>);
var
rgbIndex,
luminanceIndex,
luminanceIndex : Integer; // pmserver: etaient Byte -> boucle infinie au-dela de 255 octets
r, g, b,
alpha : Byte;
luminance : Byte;
@@ -526,7 +526,7 @@ procedure TRGBLuminanceSource.CalculateLuminanceARGB32(
const rgbRawBytes: TArray<Byte>);
var
rgbIndex,
luminanceIndex,
luminanceIndex : Integer; // pmserver: etaient Byte -> boucle infinie au-dela de 255 octets
r, g, b,
alpha : Byte;
luminance : Byte;