[PR #3077] [MERGED] libSceVideodec2: Update structs to match newer firmwares #3202

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

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/3077
Author: @StevenMiller123
Created: 6/10/2025
Status: Merged
Merged: 6/10/2025
Merged by: @squidbus

Base: mainHead: vdec2-fixes


📝 Commits (4)

  • 3ae9fb5 Update file_system.cpp
  • e127457 libSceVideodec2 struct fixes
  • ee140c3 Static assert for AvcPictureInfo struct
  • b61109c Initialize new values

📊 Changes

5 files changed (+28 additions, -4 deletions)

View changed files

📝 src/core/libraries/kernel/file_system.cpp (+1 -0)
📝 src/core/libraries/videodec/videodec2.cpp (+3 -3)
📝 src/core/libraries/videodec/videodec2.h (+3 -1)
📝 src/core/libraries/videodec/videodec2_avc.h (+17 -0)
📝 src/core/libraries/videodec/videodec2_impl.cpp (+4 -0)

📄 Description

Based on some decompilation I did, some libSceVideodec2 structs were adjusted somewhere around firmware 6.50. Our previous code was built around older versions of the library, and as a result, newer versions of libSceAvPlayer.sprx and newer games that use libSceVideodec2 would hit the struct size error return.
This PR updates the structs, and updates the struct size checks to match how newer versions of libSceVideodec2 behave.

This should properly fix #2604, though the author of that issue probably can't test this.

I've also thrown in a function export needed for Assassin's Creed Unity, since I don't see a point in making a separate one line PR for that.


🔄 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/3077 **Author:** [@StevenMiller123](https://github.com/StevenMiller123) **Created:** 6/10/2025 **Status:** ✅ Merged **Merged:** 6/10/2025 **Merged by:** [@squidbus](https://github.com/squidbus) **Base:** `main` ← **Head:** `vdec2-fixes` --- ### 📝 Commits (4) - [`3ae9fb5`](https://github.com/shadps4-emu/shadPS4/commit/3ae9fb5a9066ea7e65b50a7761d7e2ee67fd86c4) Update file_system.cpp - [`e127457`](https://github.com/shadps4-emu/shadPS4/commit/e1274571d3126f156b189627c52897abb15f8b1f) libSceVideodec2 struct fixes - [`ee140c3`](https://github.com/shadps4-emu/shadPS4/commit/ee140c3a203a87f714ed5f42e765fec08578123a) Static assert for AvcPictureInfo struct - [`b61109c`](https://github.com/shadps4-emu/shadPS4/commit/b61109c517f95a6e3f1c18a7d2afa2acbff0aaf1) Initialize new values ### 📊 Changes **5 files changed** (+28 additions, -4 deletions) <details> <summary>View changed files</summary> 📝 `src/core/libraries/kernel/file_system.cpp` (+1 -0) 📝 `src/core/libraries/videodec/videodec2.cpp` (+3 -3) 📝 `src/core/libraries/videodec/videodec2.h` (+3 -1) 📝 `src/core/libraries/videodec/videodec2_avc.h` (+17 -0) 📝 `src/core/libraries/videodec/videodec2_impl.cpp` (+4 -0) </details> ### 📄 Description Based on some decompilation I did, some libSceVideodec2 structs were adjusted somewhere around firmware 6.50. Our previous code was built around older versions of the library, and as a result, newer versions of libSceAvPlayer.sprx and newer games that use libSceVideodec2 would hit the struct size error return. This PR updates the structs, and updates the struct size checks to match how newer versions of libSceVideodec2 behave. This should properly fix #2604, though the author of that issue probably can't test this. I've also thrown in a function export needed for Assassin's Creed Unity, since I don't see a point in making a separate one line PR for that. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 22:02:49 +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#3202
No description provided.