@@ -39,24 +39,23 @@ TORCH_LIBRARY(torchcodec_ns, m) {
3939 m.def (
4040 " get_frame_at_pts(Tensor(a!) decoder, float seconds) -> (Tensor, Tensor, Tensor)" );
4141 m.def (
42- " get_frame_at_index(Tensor(a!) decoder, *, int stream_index, int frame_index) -> (Tensor, Tensor, Tensor)" );
42+ " get_frame_at_index(Tensor(a!) decoder, *, int frame_index) -> (Tensor, Tensor, Tensor)" );
4343 m.def (
44- " get_frames_at_indices(Tensor(a!) decoder, *, int stream_index, int [] frame_indices) -> (Tensor, Tensor, Tensor)" );
44+ " get_frames_at_indices(Tensor(a!) decoder, *, int[] frame_indices) -> (Tensor, Tensor, Tensor)" );
4545 m.def (
46- " get_frames_in_range(Tensor(a!) decoder, *, int stream_index, int start, int stop, int? step=None) -> (Tensor, Tensor, Tensor)" );
46+ " get_frames_in_range(Tensor(a!) decoder, *, int start, int stop, int? step=None) -> (Tensor, Tensor, Tensor)" );
4747 m.def (
48- " get_frames_by_pts_in_range(Tensor(a!) decoder, *, int stream_index, float start_seconds, float stop_seconds) -> (Tensor, Tensor, Tensor)" );
48+ " get_frames_by_pts_in_range(Tensor(a!) decoder, *, float start_seconds, float stop_seconds) -> (Tensor, Tensor, Tensor)" );
4949 m.def (
50- " get_frames_by_pts(Tensor(a!) decoder, *, int stream_index, float[] timestamps) -> (Tensor, Tensor, Tensor)" );
51- m.def (
52- " _get_key_frame_indices(Tensor(a!) decoder, int stream_index) -> Tensor" );
50+ " get_frames_by_pts(Tensor(a!) decoder, *, float[] timestamps) -> (Tensor, Tensor, Tensor)" );
51+ m.def (" _get_key_frame_indices(Tensor(a!) decoder) -> Tensor" );
5352 m.def (" get_json_metadata(Tensor(a!) decoder) -> str" );
5453 m.def (" get_container_json_metadata(Tensor(a!) decoder) -> str" );
5554 m.def (
5655 " get_stream_json_metadata(Tensor(a!) decoder, int stream_index) -> str" );
5756 m.def (" _get_json_ffmpeg_library_versions() -> str" );
5857 m.def (
59- " _test_frame_pts_equality(Tensor(a!) decoder, *, int stream_index, int frame_index, float pts_seconds_to_test) -> bool" );
58+ " _test_frame_pts_equality(Tensor(a!) decoder, *, int frame_index, float pts_seconds_to_test) -> bool" );
6059 m.def (" scan_all_streams_to_update_metadata(Tensor(a!) decoder) -> ()" );
6160}
6261
@@ -220,8 +219,7 @@ void _add_video_stream(
220219 }
221220
222221 auto videoDecoder = unwrapTensorToGetDecoder (decoder);
223- videoDecoder->addVideoStreamDecoder (
224- stream_index.value_or (-1 ), videoStreamOptions);
222+ videoDecoder->addVideoStream (stream_index.value_or (-1 ), videoStreamOptions);
225223}
226224
227225void seek_to_pts (at::Tensor& decoder, double seconds) {
@@ -237,11 +235,6 @@ OpsFrameOutput get_next_frame(at::Tensor& decoder) {
237235 } catch (const VideoDecoder::EndOfFileException& e) {
238236 C10_THROW_ERROR (IndexError, e.what ());
239237 }
240- if (result.data .sizes ().size () != 3 ) {
241- throw std::runtime_error (
242- " image_size is unexpected. Expected 3, got: " +
243- std::to_string (result.data .sizes ().size ()));
244- }
245238 return makeOpsFrameOutput (result);
246239}
247240
@@ -251,18 +244,14 @@ OpsFrameOutput get_frame_at_pts(at::Tensor& decoder, double seconds) {
251244 return makeOpsFrameOutput (result);
252245}
253246
254- OpsFrameOutput get_frame_at_index (
255- at::Tensor& decoder,
256- [[maybe_unused]] int64_t stream_index,
257- int64_t frame_index) {
247+ OpsFrameOutput get_frame_at_index (at::Tensor& decoder, int64_t frame_index) {
258248 auto videoDecoder = unwrapTensorToGetDecoder (decoder);
259249 auto result = videoDecoder->getFrameAtIndex (frame_index);
260250 return makeOpsFrameOutput (result);
261251}
262252
263253OpsFrameBatchOutput get_frames_at_indices (
264254 at::Tensor& decoder,
265- [[maybe_unused]] int64_t stream_index,
266255 at::IntArrayRef frame_indices) {
267256 auto videoDecoder = unwrapTensorToGetDecoder (decoder);
268257 std::vector<int64_t > frameIndicesVec (
@@ -273,7 +262,6 @@ OpsFrameBatchOutput get_frames_at_indices(
273262
274263OpsFrameBatchOutput get_frames_in_range (
275264 at::Tensor& decoder,
276- [[maybe_unused]] int64_t stream_index,
277265 int64_t start,
278266 int64_t stop,
279267 std::optional<int64_t > step) {
@@ -284,7 +272,6 @@ OpsFrameBatchOutput get_frames_in_range(
284272
285273OpsFrameBatchOutput get_frames_by_pts (
286274 at::Tensor& decoder,
287- [[maybe_unused]] int64_t stream_index,
288275 at::ArrayRef<double > timestamps) {
289276 auto videoDecoder = unwrapTensorToGetDecoder (decoder);
290277 std::vector<double > timestampsVec (timestamps.begin (), timestamps.end ());
@@ -294,7 +281,6 @@ OpsFrameBatchOutput get_frames_by_pts(
294281
295282OpsFrameBatchOutput get_frames_by_pts_in_range (
296283 at::Tensor& decoder,
297- [[maybe_unused]] int64_t stream_index,
298284 double start_seconds,
299285 double stop_seconds) {
300286 auto videoDecoder = unwrapTensorToGetDecoder (decoder);
@@ -327,17 +313,14 @@ std::string mapToJson(const std::map<std::string, std::string>& metadataMap) {
327313
328314bool _test_frame_pts_equality (
329315 at::Tensor& decoder,
330- [[maybe_unused]] int64_t stream_index,
331316 int64_t frame_index,
332317 double pts_seconds_to_test) {
333318 auto videoDecoder = unwrapTensorToGetDecoder (decoder);
334319 return pts_seconds_to_test ==
335320 videoDecoder->getPtsSecondsForFrame (frame_index);
336321}
337322
338- torch::Tensor _get_key_frame_indices (
339- at::Tensor& decoder,
340- [[maybe_unused]] int64_t stream_index) {
323+ torch::Tensor _get_key_frame_indices (at::Tensor& decoder) {
341324 auto videoDecoder = unwrapTensorToGetDecoder (decoder);
342325 return videoDecoder->getKeyFrameIndices ();
343326}
0 commit comments