[PR #3398] [MERGED] Fixed green artifacts in movies/animations (ffmpeg) #3438

Closed
opened 2026-02-27 22:03:42 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/3398
Author: @marecl
Created: 8/6/2025
Status: Merged
Merged: 8/6/2025
Merged by: @georgemoralis

Base: mainHead: mediafix


📝 Commits (3)

  • b0da09e Fixed green artifacts in movies/animations (ffmpeg)
  • c5c927a cleanup&clang
  • e630543 Avoid for-loop when source and target widths are equal

📊 Changes

1 file changed (+18 additions, -4 deletions)

View changed files

📝 src/core/libraries/videodec/videodec2_impl.cpp (+18 -4)

📄 Description

Reason

Green artifacts in some movies/embedded scenes. This bug affects following, but not limited to, games: Catherine Full Body, Burnout Paradise (allegedly).

Fix

FFMPEG dynamically allocates buffer, which may or may not have the same width as target media. Dumping raw frames shows additional padding (green), but Orbis can't handle differing widths resulting in broken images (mismatched chroma layer, green patches, noise).
Copying data as-is caused padding to be included. Now it's not.

Before:
obraz
obraz

After:
obraz


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/3398 **Author:** [@marecl](https://github.com/marecl) **Created:** 8/6/2025 **Status:** ✅ Merged **Merged:** 8/6/2025 **Merged by:** [@georgemoralis](https://github.com/georgemoralis) **Base:** `main` ← **Head:** `mediafix` --- ### 📝 Commits (3) - [`b0da09e`](https://github.com/shadps4-emu/shadPS4/commit/b0da09e775efc362705eda7afd6b986ba8098d4b) Fixed green artifacts in movies/animations (ffmpeg) - [`c5c927a`](https://github.com/shadps4-emu/shadPS4/commit/c5c927a37f40ba32a73cf46b97571edbf5347420) cleanup&clang - [`e630543`](https://github.com/shadps4-emu/shadPS4/commit/e6305435e842a6e3b02317c661f5dee4853e6941) Avoid for-loop when source and target widths are equal ### 📊 Changes **1 file changed** (+18 additions, -4 deletions) <details> <summary>View changed files</summary> 📝 `src/core/libraries/videodec/videodec2_impl.cpp` (+18 -4) </details> ### 📄 Description ### Reason Green artifacts in some movies/embedded scenes. This bug affects following, but not limited to, games: Catherine Full Body, Burnout Paradise (allegedly). ### Fix FFMPEG dynamically allocates buffer, which may or may not have the same width as target media. Dumping raw frames shows additional padding (green), but Orbis can't handle differing widths resulting in broken images (mismatched chroma layer, green patches, noise). Copying data as-is caused padding to be included. Now it's not. Before: <img width="400" height="350" alt="obraz" src="https://github.com/user-attachments/assets/11cd1669-c060-49d6-bd7f-d1c62d36c5f1" /> <img width="400" height="350" alt="obraz" src="https://github.com/user-attachments/assets/4b4ecd04-2b58-4314-9755-80946df9fc90" /> After: <img width="400" height="300" alt="obraz" src="https://github.com/user-attachments/assets/9d3556b5-ca51-4e10-b84e-f7f17d2a0fe8" /> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 22:03:42 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#3438
No description provided.