[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