QCamera2: HAL3: Unmap reprocess input buffers early

Currently reprocess input buffers are unmapped upon JPEG encode
completion. This is problematic because after HAL returns input buffer
after CPP processing, it doesn't own the buffer any more.

The sequence of events leading to the issue:
  1) Reprocess request 1 enters, input buffer FD is N
  2) HAL caches the input buffer
  3) CPP runs on input buffer, returns buffer to framework.
     Cache entry remains. JPEG encoding starts
  4) Framework frees buffer; FD N is now reusable
  5) Reprocess request 2 enters, new buffer also gets FD N
  6) HAL finds buffer in cache
  7) CPP tries to run, but uses stale cache entry, crashes
  8) (if no crash) JPEG encoding completes, cache cleaned up

Bug: 62721870
Test: Camera CTS
Change-Id: I22a06fad9ead03af917e547a9ee4d49d8db2e2d0
2 files changed