in neuralcompression/data/_clic_2020_video.py [0:0]
def __getitem__(self, index: int) -> Dict:
if self._current_video:
video, index = self._current_video
else:
video_frame_paths = [
*self._root.joinpath(self._video_paths[index]).glob("*_y.png")
]
video = FrameVideo.from_frame_paths(
video_frame_paths,
multithreaded_io=self._multithreaded_io,
)
self._current_video = video, index
clip_info = self._clip_sampler(
self._next_clip_start_sec,
video.duration,
{},
)
if clip_info.aug_index == 0:
self._current_video_clip = video.get_clip(
clip_info.clip_start_sec,
clip_info.clip_end_sec,
self._frame_filter,
)
if clip_info.is_last_clip:
self._current_video = None
self._next_clip_start_sec = 0.0
else:
self._next_clip_start_sec = clip_info.clip_end_sec
sample = {
"aug_index": clip_info.aug_index,
"clip_index": clip_info.clip_index,
"label": None,
"video": self._current_video_clip["video"], # type: ignore
"video_index": index,
"video_label": None,
"video_name": str(self._video_paths[index]),
}
if self._transform:
sample = self._transform(sample)
return sample