code: def test_read_partial_video_pts_unit_sec(self, start, offset):
      with temp_video(10, 300, 300, 5, lossless=True) as (f_name, data):
          pts, _ = io.read_video_timestamps(f_name, pts_unit="sec")
  
          lv, _, _ = io.read_video(
              f_name,
              pts[start],
              pts[start + offset - 1],
              pts_unit="sec",
          )
          s_data = data[start : (start + offset)]
          assert len(lv) == offset
          assert_equal(s_data, lv)
  
          with av.open(f_name) as container:
              stream = container.streams[0]
              lv, _, _ = io.read_video(
                  f_name,
                  int(pts[4] * (1.0 / stream.time_base) + 1)
                  * stream.time_base,
                  pts[7],
                  pts_unit="sec",
              )
          if get_video_backend() == "pyav":
              # for "video_reader" backend, we don't decode the closest early frame
              # when the given start pts is not matching any frame pts
              assert len(lv) == 4
              assert_equal(data[4:8], lv)
  
imports: import contextlib
  import os
  import sys
  import tempfile
  import pytest
  import torch
  import torchvision.io
  from common_utils import assert_equal
  from torchvision import get_video_backend
label_desc: Use image node_id 11 for calling the TestVideo obj's underlying member method code with example usage: obj.test_read_partial_video_pts_unit_sec(start, offset) without return types