From 4f3e4919f51c8a6d2808e5a0b4d0c1139f5e11c9 Mon Sep 17 00:00:00 2001 From: Nicolas Hug Date: Tue, 21 Jan 2025 17:01:15 +0000 Subject: [PATCH] Better variable names for `scanFileAndUpdateMetadataAndIndex` (#454) --- .../decoders/_core/VideoDecoder.cpp | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/torchcodec/decoders/_core/VideoDecoder.cpp b/src/torchcodec/decoders/_core/VideoDecoder.cpp index 520977a9..6a74f51d 100644 --- a/src/torchcodec/decoders/_core/VideoDecoder.cpp +++ b/src/torchcodec/decoders/_core/VideoDecoder.cpp @@ -562,13 +562,14 @@ void VideoDecoder::scanFileAndUpdateMetadataAndIndex() { if (packet->flags & AV_PKT_FLAG_DISCARD) { continue; } - auto& stream = containerMetadata_.streams[streamIndex]; - stream.minPtsFromScan = - std::min(stream.minPtsFromScan.value_or(INT64_MAX), packet->pts); - stream.maxPtsFromScan = std::max( - stream.maxPtsFromScan.value_or(INT64_MIN), + auto& streamMetadata = containerMetadata_.streams[streamIndex]; + streamMetadata.minPtsFromScan = std::min( + streamMetadata.minPtsFromScan.value_or(INT64_MAX), packet->pts); + streamMetadata.maxPtsFromScan = std::max( + streamMetadata.maxPtsFromScan.value_or(INT64_MIN), packet->pts + packet->duration); - stream.numFramesFromScan = stream.numFramesFromScan.value_or(0) + 1; + streamMetadata.numFramesFromScan = + streamMetadata.numFramesFromScan.value_or(0) + 1; FrameInfo frameInfo; frameInfo.pts = packet->pts; @@ -578,16 +579,17 @@ void VideoDecoder::scanFileAndUpdateMetadataAndIndex() { } streams_[streamIndex].allFrames.push_back(frameInfo); } - for (size_t i = 0; i < containerMetadata_.streams.size(); ++i) { - auto& streamMetadata = containerMetadata_.streams[i]; - auto stream = formatContext_->streams[i]; + for (size_t streamIndex = 0; streamIndex < containerMetadata_.streams.size(); + ++streamIndex) { + auto& streamMetadata = containerMetadata_.streams[streamIndex]; + auto avStream = formatContext_->streams[streamIndex]; if (streamMetadata.minPtsFromScan.has_value()) { streamMetadata.minPtsSecondsFromScan = - *streamMetadata.minPtsFromScan * av_q2d(stream->time_base); + *streamMetadata.minPtsFromScan * av_q2d(avStream->time_base); } if (streamMetadata.maxPtsFromScan.has_value()) { streamMetadata.maxPtsSecondsFromScan = - *streamMetadata.maxPtsFromScan * av_q2d(stream->time_base); + *streamMetadata.maxPtsFromScan * av_q2d(avStream->time_base); } } int ffmepgStatus = @@ -597,23 +599,23 @@ void VideoDecoder::scanFileAndUpdateMetadataAndIndex() { "Could not seek file to pts=0: " + getFFMPEGErrorStringFromErrorCode(ffmepgStatus)); } - for (auto& [streamIndex, stream] : streams_) { + for (auto& [streamIndex, streamInfo] : streams_) { std::sort( - stream.keyFrames.begin(), - stream.keyFrames.end(), + streamInfo.keyFrames.begin(), + streamInfo.keyFrames.end(), [](const FrameInfo& frameInfo1, const FrameInfo& frameInfo2) { return frameInfo1.pts < frameInfo2.pts; }); std::sort( - stream.allFrames.begin(), - stream.allFrames.end(), + streamInfo.allFrames.begin(), + streamInfo.allFrames.end(), [](const FrameInfo& frameInfo1, const FrameInfo& frameInfo2) { return frameInfo1.pts < frameInfo2.pts; }); - for (size_t i = 0; i < stream.allFrames.size(); ++i) { - if (i + 1 < stream.allFrames.size()) { - stream.allFrames[i].nextPts = stream.allFrames[i + 1].pts; + for (size_t i = 0; i < streamInfo.allFrames.size(); ++i) { + if (i + 1 < streamInfo.allFrames.size()) { + streamInfo.allFrames[i].nextPts = streamInfo.allFrames[i + 1].pts; } } }