[Scummvm-git-logs] scummvm master -> 465ee2f233daa335a53d404dd24b7be292c49859
rvanlaar
noreply at scummvm.org
Thu May 1 20:50:58 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
465ee2f233 VIDEO: QTVR: Remove bug in QTVR while changing nodes
Commit: 465ee2f233daa335a53d404dd24b7be292c49859
https://github.com/scummvm/scummvm/commit/465ee2f233daa335a53d404dd24b7be292c49859
Author: Malhar (themalharbdv2046 at gmail.com)
Date: 2025-05-01T22:50:55+02:00
Commit Message:
VIDEO: QTVR: Remove bug in QTVR while changing nodes
Remove a bug in QTVR decoder where _upscaledConstructedPanorama
doesn't stores the previous node (panorama) when you change the current
node, unlike _constructedPano
Reset the value of _upscaleLevel to 0 when constructing _constructedPano
indicating that _upscaledConstructedPanorama holds invalid panorama and
should be reupscaled while projecting in projectPanorama()
Changed paths:
video/qt_decoder.h
video/qtvr_decoder.cpp
diff --git a/video/qt_decoder.h b/video/qt_decoder.h
index 3a17adf65bb..8ff79a683c6 100644
--- a/video/qt_decoder.h
+++ b/video/qt_decoder.h
@@ -424,8 +424,10 @@ private:
Graphics::Surface *_projectedPano;
Graphics::Surface *_planarProjection;
- // Current upscale level (1 or 2) of _upscaledConstructedPanorama compared to _constructedPano
- // Level 1 means only upscaled height (2x pixels), level 2 means upscaled height and width (4x pixels)
+ // Current upscale level (0 or 1 or 2) of _upscaledConstructedPanorama compared to _constructedPano
+ // level 0 means that constructedPano was just contructed and hasn't been upscaled yet
+ // level 1 means only upscaled height (2x pixels)
+ // level 2 means upscaled height and width (4x pixels)
uint8 _upscaleLevel = 0;
// Defining these to make the swing transition happen
diff --git a/video/qtvr_decoder.cpp b/video/qtvr_decoder.cpp
index 5dfcd950572..1ad532fb8ab 100644
--- a/video/qtvr_decoder.cpp
+++ b/video/qtvr_decoder.cpp
@@ -901,6 +901,10 @@ void QuickTimeDecoder::PanoTrackHandler::constructPanorama() {
_constructedPano = constructMosaic(track, desc->_sceneNumFramesX, desc->_sceneNumFramesY, "dumps/pano-full.png");
+ // _upscaleLevel = 0 means _contructedPano has just been constructed, hasn't been upscaled yet
+ // or that the upscaledConstructedPanorama has upscaled a different panorama, not the current constructedPano
+ _upscaleLevel = 0;
+
track = (VideoTrackHandler *)(_decoder->getTrack(_decoder->Common::QuickTimeParser::_tracks[desc->_hotSpotTrackID - 1]->targetTrack));
track->seek(Audio::Timestamp(0, timestamp, _decoder->_timeScale));
More information about the Scummvm-git-logs
mailing list