It looks like this is a custom CRC in which the initial value of the algorithm depends on the first byte of the message.
These parameters stay consistent for all messages:
Polynomial = 0x1d
Input Reflected = False
Result Reflected = False
Final Xor Value = 0x00
But the initial value depends on the first byte:
0x00: init = 0x7a
0x51: init = 0x3a
Based on a few samples, here is an overview of some fields that can be read in clear.
PDF417 barcode with BASE64 encoded binary payload
Always 0x7A bytes long == 122 bytes == 976 bits