Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[torchcodec] new core function, get_frames_in_range #47

Closed
wants to merge 1 commit into from

Conversation

scotts
Copy link
Contributor

@scotts scotts commented Jun 24, 2024

Summary:
Implementation of new core function. Python signature:

get_frames_in_range(
  decoder: torch.Tensor,
  stream_index: int,
  begin: int,
  end: int,
  step: Optional[int] = None
) -> torch.Tensor

It returns a stacked tensor in exactly the same manner as get_frames_at_indices. We're adding this function to support slices in SimpleVideoDecoder. (That implementation is coming next.) To support this new core function, this diff:

  • Adds a new C++ member function, VideoDecoder::getFramesInRange() which does the real work. It follows the same form as VideoDecoder::getFramesAtIndexes().
  • Adds the plumbing to expose get_frames_in_range() as a core function.
  • Modifies the resource generation script to add new test files. We need ranges of frames now.
  • Adds the binary resource files.

Differential Revision: D58904069

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Meta Open Source bot. label Jun 24, 2024
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D58904069

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D58904069

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D58904069

Summary:
Pull Request resolved: #47

Implementation of new core function. Python signature:
```
get_frames_in_range(
  decoder: torch.Tensor,
  *
  stream_index: int,
  begin: int,
  end: int,
  step: Optional[int] = None
) -> torch.Tensor
```
It returns a stacked tensor in exactly the same manner as `get_frames_at_indices`. We're adding this function to support slices in `SimpleVideoDecoder`. (That implementation is coming next.) To support this new core function, this diff:

* Adds a new C++ member function, `VideoDecoder::getFramesInRange()` which does the real work. It follows the same form as `VideoDecoder::getFramesAtIndexes()`.
* Adds the plumbing to expose `get_frames_in_range()` as a core function.
* Modifies the resource generation script to add new test files. We need ranges of frames now.
* Adds the binary resource files.

Reviewed By: ahmadsharif1

Differential Revision: D58904069
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D58904069

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in b56b999.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Meta Open Source bot. fb-exported Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants