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

IMAGE: Add support for Crusader: No Remorse movie decoding #2214

Merged
merged 1 commit into from May 11, 2020

Conversation

@mduggan
Copy link
Contributor

mduggan commented May 1, 2020

The movies for Crusader: No Remorse have a unique decoder which is not too hard
to implement. Unfortunately, they don't properly implement the "compression"
FourCC, and instead put their ID in the "Stream Handler". Since supporting
them requires a change to the existing Image API, I thought I should make a
pull request for comments.

With this change, the movies in Crusader can all be played nicely.

The movies for Crusader: No Remorse have a unique decoder which is not too hard
to implement.  Unfortunately, they don't properly implement the "compression"
FourCC, and instead put their ID in the "Stream Handler".  Since supporting
them requires a change to the existing Image API, I thought I should make a
pull request for comments.

With this change, the movies in Crusader can all be played nicely.
@mduggan mduggan force-pushed the mduggan:crusader_movie_decoding branch from 430a3f7 to 56a7d28 May 1, 2020
Copy link
Member

dreammaster left a comment

All looks good to me. Minimal impact with the changes, code is all well formatted and commented.

@@ -201,6 +201,7 @@ bool AVIDecoder::parseNextChunk() {
case ID_STRH:
handleStreamHeader(size);
break;
case ID_HDRL: // Header list.. what's it doing here? Probably ok to ignore?

This comment has been minimized.

Copy link
@bluegr

bluegr May 9, 2020

Member

Why is this a question?

This comment has been minimized.

Copy link
@mduggan

mduggan May 9, 2020

Author Contributor

Ah, because I'm honestly not sure of the answer - this pattern pops up in a few of the crusader videos (not all) and it didn't seem to affect anything to just skip. If anyone else understands AVI containers better than me I'd be happy to get advice.

@bluegr
Copy link
Member

bluegr commented May 9, 2020

Nice work overall!

I assume that Crusader: No Regret uses the same movie format?

@mduggan
Copy link
Contributor Author

mduggan commented May 9, 2020

Thanks, unfortunately No Regret has its own weird format :(
There is some documentation available for that one here: https://wiki.multimedia.cx/index.php/Origin_Xan_Codec

@bluegr
bluegr approved these changes May 10, 2020
@sev-
Copy link
Member

sev- commented May 11, 2020

Thanks! merging.

@sev- sev- merged commit 818e681 into scummvm:master May 11, 2020
2 checks passed
2 checks passed
Codacy/PR Quality Review Up to standards. A positive pull request.
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants
You can’t perform that action at this time.