Attach (recommended) or Link to PDF file here: [test.pdf](https://github.com/mozilla/pdf.js/files/13053891/test.pdf)

Configuration:
- Web browser and its version: Firefox 118.0.2
- Operating system and its version: Windows 10 Pro 10.0.19045
- PDF.js version: 3.10.86
- Is a browser extension: No

Steps to reproduce the problem:
1. Open the PDF in Firefox.

What is the expected behavior? (add screenshot)
When I open the PDF in Google Chrome or Adobe Acrobat, it looks like this:
![after](https://github.com/mozilla/pdf.js/assets/138867750/6a76ca25-f82a-4041-9d03-2edb36cecfa6)

What went wrong? (add screenshot)
Instead, it looks like this:
![before](https://github.com/mozilla/pdf.js/assets/138867750/4b7789df-56e2-49f4-b0b9-82c22ca6bcaa)

const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
  let srcPos = 0,
    destPos;
  const src = imgData.data;
  const dest = chunkImgData.data;
  let i, j, thisChunkHeight, elemsInThisChunk;
  
  
  if (imgData.kind === ImageKind.GRAYSCALE_1BPP) {
    
    const srcLength = src.byteLength;
    const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);
    const dest32DataLength = dest32.length;
    const fullSrcDiff = (width + 7) >> 3;
    const white = 0xffffffff;
    const black = FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;
    for (i = 0; i < totalChunks; i++) {
      thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
      destPos = 0;
      for (j = 0; j < thisChunkHeight; j++) {
        const srcDiff = srcLength - srcPos;
        let k = 0;
        const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;
        const kEndUnrolled = kEnd & ~7;
        let mask = 0;
        let srcByte = 0;
        for (; k < kEndUnrolled; k += 8) {
          srcByte = src[srcPos++];
          dest32[destPos++] = srcByte & 128 ? white : black;
          dest32[destPos++] = srcByte & 64 ? white : black;