  
      def _process_face(self,
                        filename: str,
                        image: np.ndarray,
                        metadata: Dict[str, Any]) -> Optional["ExtractMedia"]:
          """ Process a single face when masking from face images
  
          filename: str
              the filename currently being processed
          image: :class:`numpy.ndarray`
 
</s> remove     def _save(self, filename: str, image: bytes, sub_folder: Optional[str]) -> None:
 </s> add     def _save(self,
              filename: str,
              image: Union[bytes, np.ndarray],
              sub_folder: Optional[str]) -> None: </s> remove         The original frame
 </s> add         The original frame or a faceswap aligned face image </s> remove     def add_frame_metadata(self, metadata: Dict[str, Any]) -> None:
 </s> add     def add_frame_metadata(self, metadata: "PNGHeaderSourceDict") -> None: </s> remove def encode_image(image, extension, metadata=None):
 </s> add def encode_image(image: np.ndarray,
                 extension: str,
                 metadata: Optional["PNGHeaderDict"] = None) -> bytes: </s> remove         image: bytes
            The encoded image to be saved
 </s> add         image: bytes or :class:`numpy.ndarray`
            The encoded image or numpy array to be saved
                      metadata: "PNGHeaderDict") -> Optional["ExtractMedia"]:
  
      def _process_face(self,
                        filename: str,
                        image: np.ndarray,
                      metadata: "PNGHeaderDict") -> Optional["ExtractMedia"]:
          """ Process a single face when masking from face images
  
          filename: str
              the filename currently being processed
          image: :class:`numpy.ndarray`
keep keep keep keep replace keep keep keep keep keep
 Update Face Filter
  - Remove old face filter
  - plugins.extract.pipeline: Expose plugins directly
  - Change `is_aligned` from plugin level to ExtractMedia level
  - Allow extract pipeline to take faceswap aligned images
  - Add ability for recognition plugins to accept aligned faces as input
  - Add face filter to recognition plugin
  - Move extractor pipeline IO ops to own class 
tools/mask/mask.py