[8525, TyTN, MDA Vario II, JasJam General] Sleuth255:
So, after a day with my AKU3.3 equipped 8525, Platform Builder, IDA Pro and HexCmp, I believe I've finally gotten to the bottom of the ATI ImageON acceleration bug. This is the bug that causes the screen to "tear" during accelerated video playback using CorePlayer, TCPMP or other players that take advantage of the ImageON hardware acceleration. Once this bug is occuring, the entire screen is unreadable until you somehow exit from the video player.

Note that even after this patch is applied there will still remain some "pixelation" artifacts. However, there's a great thread on CoreCodec.com that can be found here. The thread explains how to resolve most of these. Consider that thread "extra credit" though since all in all, this patch alone resolved about 90% of the ATI issues with my AKU2.3 test device (running the South African 1.35 TyTN ROM). :eek:

It was a buffer problem you see....

I've attached a cab which modifies the ATI DDI setup file to the AKU3.3 parameters. I've experienced great results with CorePlayer when using this on an AKU2.3 hermes. I only had to check all the boxes in CorePlayer's ATI IMAGEON setup page. By Default, 2 aren't checked:

"Green Tint" bug compensation

Keep ATI driver active (just test)

I believe it is the second parameter that corrects an out of memory crash when a clip is played in full screen mode the second time.

The above settings are workarounds however since the full benefits of this fix will only be available if the setup file is used in conjunction with the latest versions of the ATI drivers. Unfortunately, these drivers must be "baked" into a ROM. Do not try to install these drivers! You will brick your device if you do and a hard reset will be necessary to fix. Install the attached cab file instead and wait for the chefs here to build the new drivers into their next ROM release.

ROM Chefs: you can find the files that make up the release here

Delete the old versions and bake all three files in the zip into the /windows directory.

Now to the Technical.

ATI released 3 files as part of their DDI update: ace_ddi.dll, ahioem.dll and a hidden little configuration file named atihwtbl0.txt. It's this little text file that contains the magic since ace_ddi.dll uses it to configure several settings at startup. I haven't fully analyzed the changes yet and am in the process of doing this now but at first glance they appear to either move or increase the size of several video buffers in memory. It almost looks like there was an overlap issue with audio buffers :eek:

Anyway, enjoy this little patch!

As always, while I'm pretty sure that this patch will rock your ATI world, I take no responsibility for any "undocumented features" that may crop up. I've only done minimal testing on the TyTN 1.35 ROM so far. It must be right though... there weren't any syntax errors. :D

Installation instructions:

Download the attached CAB file

tap to install (it will ask to reset your device)

note: you must install this to your device. The patch won't work if you install it to a storage card.

If you experience side effects, removal is simple. From Settings->System->Remove Programs just remove "Sleuth's ATIFix". Be sure to reset your device after the uninstall finishes.

edit:

It's important to read the TyTN thread located on the CoreCodec forum. Here is the link to that thread. There's a lot of good information concerning the scope of this patch (which takes the form of AKU3.3 experiences) and what still remains to be done. In this thread, schriss does a good job benchmarking the ATI playback and also has some good suggestions, some of which I'm hoping will be implemented in future versions of CorePlayer (such as allowing a YV12 option for the ATI decoder). Also, as the thread points out, DivX decoding using the ImageON remains a challenge (like I said, my patch alone solves about 90% of the issues). Hopefully more will now be able to focus on this once the Hermes DDI setting modifications encompassed by my patch become ubiquitous.