There's only one function to use and you need to load the png file into memory before calling it. It'll return the image in an RGBA array. Example:
Code:
var
  f: file;
  fsize: longword;
  buffer: pbyte;  
  ImageData: PPNGPixel;
  ImageWidth,
  ImageHeight:longint;
begin
  AssignFile(f, 'some.png');
  Reset(f, 1);
  fsize := FileSize(f);
  buffer := getmem(fsize);
  blockread(f, buffer^, fsize);
  CloseFile(f);

  BeRoPNG.LoadPNG(buffer, fsize, ImageData, ImageWidth, ImageHeight, false);
  writeln(ImageWidth, 'x', ImageHeight);       
  freemem(buffer);
  freemem(ImageData);
I don't know allegro, but looks like the only thing you need to do is to create a 32 bit bitmap (al_bitmap) and copy the read data into its line pointers (see https://www.allegro.cc/manual/4/api/...allegro/bitmap )