Project

General

Profile

Emulator Issues #12666

Bink Video decodes incorrectly on some devices

Added by pokechu22 3 months ago. Updated 2 months ago.

Status:
New
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

What's the problem? Describe what went wrong.

Most games that use the Bink Video codec display incorrectly on Nvidia devices and with Mesa. This applies to both Bink 1 and Bink 2.

When lines appear, they are 1px wide regardless of the internal resolution (ignoring rescaling done by Dolphin to maintain the aspect ratio). The number of lines and positions of the lines are dependent on the internal resolution. Both of these differ from VP6 video (see #7193). An additional complication is that the lines are from other pixels in the video, so they may match the background and thus not be visible in some cases.

The presence of lines seems to be dependent on the resolution of the game compared to the resolution of the video. For instance, Shrek the Third's intro logo videos render perfectly fine, as the game runs at 640 by 480 and the video itself is 640 by 480 - there are no problems at any IR. On the other hand, the intro cutscene is 640 by 360, and that has lines at 1x IR. However, other videos (such as the Excite Truck video) render poorly despite the video being 640 by 448 and the game running at 640 by 448. In this case, at 1x IR the lines all are clumped near the center of the video at 1x IR, though they become spread out at higher IRs.

Usually, only horizontal lines are present. Some games have vertical lines, but this seems to be fairly rare; it seems like most use the right width and only change the video height.

Game Name?

A lot of games from a large number of publishers. Most games will indicate it on the box or on a splash screen. A list can be found on RAD Game Tools' website (HTTP-only, IA mirror), though this list isn't complete (despite how large it is).

Some examples:

What steps will reproduce the problem?

Simply load a game that uses Bink Video for a prerendered video on an Nvidia device.

What are your PC specifications?

  • CPU: Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz, 2592 Mhz, 6 Core(s), 12 Logical Processor(s)
  • GPU: NVIDIA GeForce GTX 1650 Ti
  • Operating System: Windows 10.0.19042.1165

Mesa drivers are also affected (tested on my machine using lavapipe in WSL, but this can also be seen on fifoci), though the number of lines is much smaller. Intel UHD graphics are not affected.

Test cases

Since the Bink 1 encoder is publicly available for noncommercial use, I generated a large number of videos at different resolutions and have attached them to this issue. I also generated fifologs for the videos by replacing Shrek 3's movies/logos/dw_logo.bik with the videos I generated. For instance, 640x473.dff generates a clump of lines similar to Excite truck, and 300x480.dff generates vertical lines but no horizontal lines.

Bink.7z.001 (5 MB) Bink.7z.001 Test videos and fifologs (file 1/3) pokechu22, 09/14/2021 09:33 PM
Bink.7z.002 (5 MB) Bink.7z.002 Test videos and fifologs (file 2/3) pokechu22, 09/14/2021 09:33 PM
Bink.7z.003 (1.26 MB) Bink.7z.003 Test videos and fifologs (file 3/3) pokechu22, 09/14/2021 09:33 PM
ShrekActivision.dff (1.46 MB) ShrekActivision.dff Shrek fifolog for Activison logo screen (no issue) pokechu22, 09/15/2021 12:18 AM
ShrekIntro.dff (1.69 MB) ShrekIntro.dff Shrek fifolog for intro cutscene (has issues) pokechu22, 09/15/2021 12:18 AM
AllBinkGames.txt (66.9 KB) AllBinkGames.txt List of games that use Bink Video pokechu22, 09/20/2021 10:28 PM

Related issues

Related to Emulator - Emulator Issues #7193: VP6 Video Decoder IssueFixed

Related to Emulator - Emulator Issues #8780: Corrupt dancers in Just Dance (regression)Accepted

Has duplicate Emulator - Emulator Issues #12559: Rabbids Go Home - Prerendered video choppy and has horizontal linesDuplicate

Has duplicate Emulator - Emulator Issues #8457: Red Steel 2: Horizontal Lines across screenDuplicate

Has duplicate Emulator - Emulator Issues #11543: Asterix at the Olympic Games video glitchsDuplicate

Has duplicate Emulator - Emulator Issues #10632: DJ Hero: Opening cutscene artifacts at 1x IRDuplicate

History

#1 Updated by pokechu22 3 months ago

#2 Updated by pokechu22 3 months ago

  • Has duplicate Emulator Issues #12559: Rabbids Go Home - Prerendered video choppy and has horizontal lines added

#3 Updated by pokechu22 3 months ago

#4 Updated by pokechu22 3 months ago

#5 Updated by pokechu22 3 months ago

#6 Updated by pokechu22 3 months ago

#7 Updated by pokechu22 3 months ago

#8 Updated by pokechu22 2 months ago

I've gone through the list of publishers/developers and games that use Bink Video and checked against the boxes on gametdb to find which ones have the Bink Video icon. For each publisher/developer in that list, I went through all games since the existing list isn't complete. There are also a few games specifically listed that don't have the Bink Video icon, which will need testing at some point (I indicated these with "Claimed, but couldn't verify" or similar).

This took several days to do, and I haven't actually done any GameINI or wiki updates for Bink videos specifically yet (though I did make general wiki corrections when I found mistakes).

Also available in: Atom PDF