code: def _parse_parameters(
      video_path,
      fps,
      min_fps,
      max_fps,
      size,
      min_size,
      max_size,
      sample_frames,
      original_frame_numbers,
  ):
      metadata = fom.VideoMetadata.build_for(video_path)
  
      ifps = metadata.frame_rate
      isize = (metadata.frame_width, metadata.frame_height)
      iframe_count = metadata.total_frame_count
  
      ofps = fps or -1
      min_fps = min_fps or -1
      max_fps = max_fps or -1
  
      if ofps < 0:
          ofps = ifps
  
      if 0 < ofps < min_fps:
          ofps = min_fps
  
      if 0 < max_fps < ofps:
          ofps = max_fps
  
      if size is not None:
          osize = etai.infer_missing_dims(size, isize)
      else:
          osize = isize
  
      osize = etai.clip_frame_size(
          osize, min_size=min_size, max_size=max_size
      )
  
      same_fps = ifps == ofps
      same_size = osize == isize
  
      # ffmpeg requires that height/width be even
      osize = [etan.round_to_even(x) for x in osize]
  
      if same_fps:
          ofps = None
  
      if same_size:
          osize = None
  
      if sample_frames and original_frame_numbers and ofps is not None:
          if ofps > ifps:
              # pylint: disable=bad-string-format-type
              raise ValueError(
                  "Cannot maintain original frame numbers when requested frame "
                  "rate (%f) exceeds native frame rate (%f) of video '%s'"
                  % (ofps, ifps, video_path)
              )
  
          frames = sample_frames_uniform(
              ifps, total_frame_count=iframe_count, fps=ofps
          )
      else:
          frames = None
  
      return ofps, osize, frames
  
imports: import itertools
  import json
  import logging
  import os
  import eta.core.frameutils
  import eta.core.image
  import eta.core.numutils
  import eta.core.utils
  import eta.core.video
  import fiftyone
  import fiftyone.core.metadata
  import fiftyone.core.storage
  import fiftyone.core.utils
  import fiftyone.core.validation
label_desc: Use image node_id 13 for calling a global function with example usage: _parse_parameters(video_path, fps, min_fps, max_fps, size, min_size, max_size, sample_frames, original_frame_numbers) and returns: ofps,  osize,  frames