class_docstr: Support for pyAV as backend.
  
  Parameters
  ----------
  request : iio.Request
      A request object that represents the users intent. It provides a
      standard interface to access various the various ImageResources and
      serves them to the plugin as a file object (or file). Check the docs for
      details.
class_docstr_tok: ["Support","for","pyAV","as","backend",".","Parameters","--","--","--","--","--","request",":","iio.Request","A","request","object","that","represents","the","users","intent",".","It","provides","a","standard","interface","to","access","various","the","various","ImageResources","and","serves","them","to","the","plugin","as","a","file","object","(","or","file",")",".","Check","the","docs","for","details","."]
docstr: Standardized ndimage metadata.
  
  Parameters
  ----------
  index : int
      The index of the ndimage for which to return properties. If ``...``
      (Ellipsis, default), return the properties for the resulting batch
      of frames.
  format : str
      If not None (default: rgb24), convert the data into the given format
      before returning it. If None return the data in the encoded format
      if that can be expressed as a strided array; otherwise raise an
      Exception.
  
  Returns
  -------
  properties : ImageProperties
      A dataclass filled with standardized image metadata.
  
  Notes
  -----
  This function is efficient and won't process any pixel data.
  
  The provided metadata does not include modifications by any filters
  (through ``filter_sequence`` or ``filter_graph``).
docstr_tok: ["Standardized","ndimage","metadata",".","Parameters","--","--","--","--","--","index",":","int","The","index","of","the","ndimage","for","which","to","return","properties",".","If","``","...","``","(","Ellipsis",",","default",")",",","return","the","properties","for","the","resulting","batch","of","frames",".","format",":","str","If","not","None","(","default",":","rgb24",")",",","convert","the","data","into","the","given","format","before","returning","it",".","If","None","return","the","data","in","the","encoded","format","if","that","can","be","expressed","as","a","strided","array",";","otherwise","raise","an","Exception",".","Returns","--","--","--","-","properties",":","ImageProperties","A","dataclass","filled","with","standardized","image","metadata",".","Notes","--","--","-","This","function","is","efficient","and","wo","n't","process","any","pixel","data",".","The","provided","metadata","does","not","include","modifications","by","any","filters","(","through","``","filter_sequence","``","or","``","filter_graph","``",")","."]
code: def properties(
      self, index: int = ..., *, format: str = "rgb24"
  ) -> ImageProperties:
      """Standardized ndimage metadata.
  
      Parameters
      ----------
      index : int
          The index of the ndimage for which to return properties. If ``...``
          (Ellipsis, default), return the properties for the resulting batch
          of frames.
      format : str
          If not None (default: rgb24), convert the data into the given format
          before returning it. If None return the data in the encoded format
          if that can be expressed as a strided array; otherwise raise an
          Exception.
  
      Returns
      -------
      properties : ImageProperties
          A dataclass filled with standardized image metadata.
  
      Notes
      -----
      This function is efficient and won't process any pixel data.
  
      The provided metadata does not include modifications by any filters
      (through ``filter_sequence`` or ``filter_graph``).
  
      """
  
      video_width = self._video_stream.codec_context.width
      video_height = self._video_stream.codec_context.height
      pix_format = format or self._video_stream.codec_context.pix_fmt
      frame_template = av.VideoFrame(
          video_width, video_height, pix_format
      )
  
      shape = _get_frame_shape(frame_template)
      if index is ...:
          n_frames = self._video_stream.frames
          shape = (n_frames,) + shape
  
      return ImageProperties(
          shape=tuple(shape),
          dtype=_format_to_dtype(frame_template.format),
          n_images=shape[0] if index is ... else None,
          is_batch=index is ...,
      )
  
imports: from fractions import Fraction
  from math import ceil
  from typing import Any, Dict, List, Optional, Tuple, Union, Generator
  import av
  import av.filter
  import numpy
  from numpy.lib.stride_tricks import as_strided
  from ..core import Request
  from ..core.request import URI_BYTES, InitializationError, IOMode
  from ..core.v3_plugin_api import ImageProperties, PluginV3
label_desc: Use image node_id 5 for calling the PyAVPlugin obj's underlying member method code with example usage: obj.properties(index) and returns: ImageProperties