          for new_face, detected_face in zip(predicted["swapped_faces"],
                                             predicted["detected_faces"]):
              predicted_mask = new_face[:, :, -1] if new_face.shape[2] == 4 else None
              new_face = new_face[:, :, :3]
              src_face = detected_face.reference_face
              interpolator = detected_face.reference_interpolators[1]
  
              new_face = self.pre_warp_adjustments(src_face, new_face, detected_face, predicted_mask)
  
              # Warp face with the mask
 
</s> remove             face[:, :, chan] = cv2.equalizeHist(face[:, :, chan])  # pylint: disable=no-member
 </s> add             face[:, :, chan] = cv2.equalizeHist(face[:, :, chan]) </s> remove         self.filename = filename
 </s> add  </s> remove         clahe = cv2.createCLAHE(clipLimit=2.0,  # pylint: disable=no-member
 </s> add         clahe = cv2.createCLAHE(clipLimit=2.0, </s> remove             cvt_image = image[:, :, ::-1].copy()
 </s> add             cvt_image = image[..., 2::-1].copy() </s> remove         self.face = None
        """ str: The hash of the face. This cannot be set until the file is saved due to image
        compression, but will be set if loading data from :func:`from_alignment` """
 </s> add 
            src_face = detected_face.reference_face[..., :3] / 255.0
          for new_face, detected_face in zip(predicted["swapped_faces"],
                                             predicted["detected_faces"]):
              predicted_mask = new_face[:, :, -1] if new_face.shape[2] == 4 else None
              new_face = new_face[:, :, :3]
            src_face = detected_face.reference_face[..., :3] / 255.0
              interpolator = detected_face.reference_interpolators[1]
  
              new_face = self.pre_warp_adjustments(src_face, new_face, detected_face, predicted_mask)
  
              # Warp face with the mask
keep keep keep keep replace keep keep keep keep keep
 Smart Mask - Extract code review

- Lint simple_tests.py
- Only reformat alignments file if it exists otherwise change filename
- Update legacy alignments to new format at all stages
- faces_detect.Mask.from_dict - logging format fix
- convert.py fix otf for new pipeline
- cli.py - Add note that masks not used. Revert convert masks
- faces_detect.py - Revert non-extract code
- Add .p and .pickle extensions for serializer
- plugins/extract revert some changes
- scripts/fsmedia - Revert code changes
- Pipeline - cleanup
- Consistant alpha channel stripping (fixes single-process)
- Store landmarks as numpy array
- Code attribution
- Normalize feed face and reference face to 0.0 - 1.0 in convert
- Lock in mask VRAM sized
- Add documentation to plugin_loader
- Update alignments tool to work with new format 
lib/convert.py