Spelt / ZXing.Delphi

ZXing Barcode Scanning object Pascal Library for Delphi VCL and Delphi Firemonkey
Apache License 2.0
471 stars 206 forks source link

Getting Assertion Failure for FastUtils.ps #98

Closed RaySa74 closed 4 years ago

RaySa74 commented 4 years ago

when ruining FmxAdvancedTestApp on oneplus gm1900. i will get Assertion Failure when trying to switch on the camera. Please Help

see attached image thanks Screenshot_20200428-153920

RaySa74 commented 4 years ago

Assertion Failure in procedure RotateBitmap ((Assert((ASrcHeight and 3) = 0); ))

procedure RotateBitmap(const ASrc, ADst: Pointer; const ASrcWidth, ASrcHeight: Integer; const AAngle: Integer); begin if (ASrcWidth <= 0) or (ASrcHeight <= 0) then Exit;

Assert(Assigned(ASrc)); Assert(Assigned(ADst)); Assert((ASrcHeight and 3) = 0,'ASrcHeight='+inttostr(ASrcHeight)+'--'+'ASrcWidth='+inttostr(ASrcWidth)); ---------------->Assertion ERROR Assert((ASrcWidth and 3) = 0);

case AAngle of 0: RotateBitmap0Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); 90: RotateBitmap90Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); 180: RotateBitmap180Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); 270: RotateBitmap270Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); else Assert(False); end; end;

Screenshot_20200428-191423eeeeeeeeeeeee

Spelt commented 4 years ago

This is because you need to include the android files in your project path.

Op 28 apr. 2020 om 18:05 heeft RaySa74 notifications@github.com het volgende geschreven:

 Assertion Failure in procedure RotateBitmap ((Assert((ASrcHeight and 3) = 0); ))

procedure RotateBitmap(const ASrc, ADst: Pointer; const ASrcWidth, ASrcHeight: Integer; const AAngle: Integer); begin if (ASrcWidth <= 0) or (ASrcHeight <= 0) then Exit;

Assert(Assigned(ASrc)); Assert(Assigned(ADst)); Assert((ASrcHeight and 3) = 0); ---------------->Assertion ERROR Assert((ASrcWidth and 3) = 0);

case AAngle of 0: RotateBitmap0Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); 90: RotateBitmap90Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); 180: RotateBitmap180Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); 270: RotateBitmap270Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); else Assert(False); end; end;

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

RaySa74 commented 4 years ago

I tried to debug it and the value of ASrcHeight comes out to be 738 and this will cause the error. Please see the image from the previous reply. (738and3=2 not 0)

Spelt commented 4 years ago

Yes but that comes because some dependency is not included right. Watch out for 64/32 bit differences.

Also read the text on the git page below:

NOTE for 'Advanced test demo app' and Android with Rio.

Take care.

Op 28 apr. 2020 om 19:02 heeft RaySa74 notifications@github.com het volgende geschreven:

 I tried to debug it and the value of ASrcHeight comes out to be 738 and this will cause the error. Please see the image from the previous reply. (738and3=2 not 0)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

RaySa74 commented 4 years ago

when i fix the Search Path to \simd;\custom the problem Assertion Failure is fixed but the the camera becomes very slow and lagging frame rate 10?? when i set the Search path to simd;custom and disable Assert((ASrcWidth and 3) = 0); and Assert((ASrcHeight and 3) = 0); the camera work very well and frame rate is 30

Please what to do??
thanks for your patience

fix

procedure RotateBitmap(const ASrc, ADst: Pointer; const ASrcWidth, ASrcHeight: Integer; const AAngle: Integer); var dfd:integer; begin if (ASrcWidth <= 0) or (ASrcHeight <= 0) then Exit;

Assert(Assigned(ASrc)); Assert(Assigned(ADst));

// Assert((ASrcHeight and 3) = 0,'ASrcHeight='+inttostr(ASrcHeight)+'--'+'ASrcWidth='+inttostr(ASrcWidth)); // Assert((ASrcWidth and 3) = 0);

case AAngle of 0: RotateBitmap0Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); 90: RotateBitmap90Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); 180: RotateBitmap180Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); 270: RotateBitmap270Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); else Assert(False); end; end;

Spelt commented 4 years ago

I added this library to enhance the camera because the standard camera is kinda slow.

Its actually not part of the zxing library and I cannot support it because it has its own manual

I suggest that you dont continue with this lib and stop wasting your time and buy native camera component from winsoft.sk or somewhere else.

Im thinking of removing this lib from this repo because its sometimes to advanced for a lot of users.

I hope you agree.

Edward

Op 28 apr. 2020 om 22:25 heeft RaySa74 notifications@github.com het volgende geschreven:

 when i fix the Search Path to \simd;\custom the problem Assertion Failure is fixed but the the camera becomes very slow and lagging frame rate 10?? when i set the Search path to simd;custom and disable Assert((ASrcWidth and 3) = 0); and Assert((ASrcHeight and 3) = 0); the camera work very well and frame rate is 30

Please what to do?? thanks for your patience

procedure RotateBitmap(const ASrc, ADst: Pointer; const ASrcWidth, ASrcHeight: Integer; const AAngle: Integer); var dfd:integer; begin if (ASrcWidth <= 0) or (ASrcHeight <= 0) then Exit;

Assert(Assigned(ASrc)); Assert(Assigned(ADst));

// Assert((ASrcHeight and 3) = 0,'ASrcHeight='+inttostr(ASrcHeight)+'--'+'ASrcWidth='+inttostr(ASrcWidth)); // Assert((ASrcWidth and 3) = 0);

case AAngle of 0: RotateBitmap0Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); 90: RotateBitmap90Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); 180: RotateBitmap180Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); 270: RotateBitmap270Degrees(ASrc, ADst, ASrcWidth, ASrcHeight); else Assert(False); end; end;

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or unsubscribe.