[App] AFT 1.3.2 - Ambarella firmware editor (development paused)

Well yes it does. it would be nice to be able to edit a few more things mind like the sounds on and off for the GPS and the Start recording or the other options like changing the free space left for the last file to be saved as the main problem everyone seems to have is that when the card fills up the camera runs out of space before it can store the last file then has to stop recording and has to wait until it's deleted a file before it can restart... the other option that might be handy is sensitivity for the motion detect.

I noticed the Option for setting the Spot/Centre/General light metering mode excellent idea. as my camera has more bonnet in the screen then the road it's sometimes too dark due to the car being silver. I would imagine that this camera has a similar matrix for the parking modes motion detect as I have noticed that the bonnet seems to have more triggers than the road and sky. eg I think they have it set right across the center of the screen and the top and bottom need more movement to trigger.

Can I ask if the Designer for the software could look at the K1S and Mini 08 range of updates and see if he can have a play with the software to modify the motion detect sensitivity and the motion detect area and maybe the storage percentage problem.

He seems to understand the software far better than me. I wish I had kept up with my computer programming and OS cracking stuff from back in the MS DOS 6.11 days. :( left it behind after I started with the cars.

So far I have made a new firmware with my company logo as the startup and shutdown and I have changed the Light metering modes to more equate to my camera's position. I have not yet flashed this but hope to in a couple of days.
 
I can completely remove certain language from the system? Current firmware winch 14 languages
 
Not possible with AFT. But you could replace all other languages with your desired language - that would have the same effect.

strings.bin contains a language count variable, maybe it would be enough setting it to 1 but I'm not sure.
Friendly reminder: AFT is for presonal use only. Commercial use of AFT and AFT modified firmwares is strictly prohibited.
 
Not possible with AFT. But you could replace all other languages with your desired language - that would have the same effect.

strings.bin contains a language count variable, maybe it would be enough setting it to 1 but I'm not sure.
Friendly reminder: AFT is for presonal use only. Commercial use of AFT and AFT modified firmwares is strictly prohibited.
I understand, but it increases memory capacity and user friendliness. I waited 1 update can do this well
Thank you for creating a useful tool!
 
Hi, I don't seem to be able to rebuild the image, ive attached the firmware, I can open it, extract all the partitions and rfs, I can edit the bitrate and AE tables, I can save those and reopen them without error but when I i click build it starts with the message "compiling for A7" and does nothing, ive had a look and its not accessing any file and there is no CPU usage, I left it all night to be sure, ive placed AFT in the root folder of that firmware. any suggestions?

https://1drv.ms/f/s!Al6BV1zPbxo-qf1dPKWqxBKM-3jLkw

the combined bitrate for the two cameras is 18Mbps, ive been told that the chipset will fall over, over 20, so I thought id push it to 20 (12 and 8) that's only 2Mbps bump on the front camera but that's a 20% improvement so I thought it would be worth a shot.

offset I believe to be 7692560

the bin file is the original stock file the PRI files are my modified ones....

any help would be great, cheers guys
 
Could you run Aft through cmd using the non packed .jar file and post the output here?
Command: java -jar <FILENAME>.jar
 
Could you run Aft through cmd using the non packed .jar file and post the output here?
Command: java -jar <FILENAME>.jar
,
Hi, thanks for taking a look, ive followed the complete process but had to remove the output for bitrate editor as the text was too long but I suspect the last part will be what you want anyway....

Code:
D:\Dash Cam\F770\modified>java -jar AFT133.jar
Is Code run in EDT? false
D:\Dash Cam\F770\modified\F770_pkg.bin
HEX DUMP:b5f8f831
HEX DUMP:c7a11bd3
HEX DUMP:19bb083a
HEX DUMP:c3000c3c
HEX DUMP:a71a2e10
HEX DUMP:d7a9fd9
HEX DUMP:4986d3f2
HEX DUMP:49acff53
Firmware [sourceFile=D:\Dash Cam\F770\modified\F770_pkg.bin, p=A7, partitions=[FirmwarePartition [name=BST, crc32=-1241974735, majorversion=1, minorversion=3, buildday=15, buildmonth=4, buildyear=2016, length=2048, memaddr=0, flag=1, magic=-1557861488, compressed=false, start=2048, end=4352, stub=false], FirmwarePartition [name=BLD, crc32=-945742893, majorversion=1, minorversion=3, buildday=15, buildmonth=4, buildyear=2016, length=143188, memaddr=-1073741824, flag=0, magic=-1557861488, compressed=false, start=6144, end=149588, stub=false], FirmwarePartition [name=HAL, crc32=431687738, majorversion=5, minorversion=1, buildday=15, buildmonth=4, buildyear=2016, length=74336, memaddr=-1073086464, flag=0, magic=-1557861488, compressed=false, start=151552, end=226144, stub=false], FirmwarePartition [name=PRI, crc32=-1023407044, majorversion=0, minorversion=1, buildday=15, buildmonth=4, buildyear=2016, length=11714564, memaddr=-1072693248, flag=0, magic=-1557861488, compressed=false, start=755712, end=12470532, stub=false], FirmwarePartition [name=SEC, crc32=-1491456496, majorversion=1, minorversion=0, buildday=15, buildmonth=4, buildyear=2016, length=4117852, memaddr=-849313792, flag=0, magic=-1557861488, compressed=false, start=12472320, end=16590428, stub=false], FirmwarePartition [name=RFS, crc32=226140121, majorversion=2, minorversion=0, buildday=15, buildmonth=4, buildyear=2016, length=106600448, memaddr=0, flag=1, magic=-1557861488, compressed=false, start=16666624, end=123267328, stub=false], FirmwarePartition [name=DSP, crc32=1233572850, majorversion=0, minorversion=1, buildday=15, buildmonth=4, buildyear=2016, length=4186112, memaddr=-946864208, flag=0, magic=-1557861488, compressed=false, start=123269120, end=127455488, stub=false], FirmwarePartition [name=LNX, crc32=1236074323, majorversion=0, minorversion=1, buildday=15, buildmonth=4, buildyear=2016, length=17825792, memaddr=0, flag=1, magic=-1557861488, compressed=false, start=127457280, end=145283328, stub=false], FirmwarePartition [name=SWP, crc32=0, majorversion=0, minorversion=0, buildday=0, buildmonth=0, buildyear=0, length=0, memaddr=0, flag=0, magic=0, compressed=false, start=0, end=0, stub=true]], isValid=true]
8  SWP is stubbed.
fopen: PRI.a7s
Offset: 007770B3
AETables [aeTables=[AETable [table=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 2, 5, 9, 9, 5, 2, 1, 1, 1, 1, 1, 1, 2, 5, 9, 9, 5, 2, 1, 1, 1, 1, 1, 1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], AETable [table=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], AETable [table=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]]]
JPane for 0
JPane for 1
JPane for 2
AETables [aeTables=[AETable [table=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 2, 5, 9, 9, 5, 2, 1, 1, 1, 1, 1, 1, 2, 5, 9, 9, 5, 2, 1, 1, 1, 1, 1, 1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], AETable [table=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], AETable [table=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]]]
fopen: PRI.a7s
26D 7M 2016Y
26D 7M 2016Y
26D 7M 2016Y
26D 7M 2016Y
26D 7M 2016Y
Exception in thread "Thread-13" java.lang.OutOfMemoryError: Java heap space
        at i.g.a(Unknown Source)
        at i.g.run(Unknown Source)
        at i.g.<init>(Unknown Source)
        at eu.pmc.dc.a7tool.AppController.a(Unknown Source)
        at eu.pmc.dc.a7tool.q.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
 
Has probably something to do with the firmware header, will have a looma t it after returning from vacation
 
Has probably something to do with the firmware header, will have a looma t it after returning from vacation

Cheers mate, have a nice one!
 
Has probably something to do with the firmware header, will have a looma t it after returning from vacation

Hi buddy, hope you had a nice holiday

Did you manage to get a look at this?
 
Hello folks. I've been toying with my Xiaomi Yi for a while now (mostly with photo capture).
Some ambarella shell commands and output imply that there is a shutter timings table.

E.g., the well-known command for tuning autoexposure module parameters:
t ia2 -ae exp [agc][shutter_idx][agc_mode]
[agc] is Adaptive?/Advanced? gain control which is either ISO (agc_mode = 0), or some other form of gain (agc_mode = 1)
[shutter_idx] is a value that determines the shutter speed. It's name suggests that there IS a some kind of lookup table
for shutter speeds.

Tobi@s, did you, by any chance, stumble onto something like that? It could allow extending shutter times past 7.9 seconds
on Xiaomi Yi and other A7LS-based action cameras, which could be quite awesome.
 
Hi Tobias,

any chance you will support A9 firmwares for the current YI 2 4k in the future? I tried using AFT on two firmware files through A7 but obviously ended up with error messages.
An error occured: DIRTYFIRMWARE
Partition length smaller than or equals zero ...

Additionally the files seem to be partly encrypted in some way, as far as I understand.

I uploaded two firmware versions (initial und current beta) here:
https://mega.nz/#F!ZskDlbyZ!3IvH7iPI_G-1jcJmXO8MeQ

Thanks for any feedback!
 
Has probably something to do with the firmware header, will have a looma t it after returning from vacation
After noon mate, I don't suppose you ever got a chance to take a look at those headers from the Thinkware F770 camera?
 
I do not know English, I use google translate sympathy. I edited A7LA50D chips ambarella bitrate success.
3-4-5 (2560x1080)
9-10-11 (2304x1296)
24-25-26 (1920x1080) 1080p 30f
51-52-53 (1080x720) 60F 720p
54-55-56 (1080x720) 30F 720p
:)
Screenshot_2016-11-23-22-40-36.jpg
 
Last edited:
now aac 48000hz and 64k, I want 48000hz and 96k or 128k recoder audio??? help
 
Last edited:
Hello guys, has enyone tried to change the button values?
I have KEHAN C905 dash cam, and its annoying that when you press emergency button it only saves 15 prerecorded video and 15 after pressing.
Wondering if its any way to change this please?
 
I don't think is possible but you have a great feature with that 15 seconds. Usually all events are under 30 seconds I watched hundred of recorded accidents and almost all are under this duration. Some Korean dashcams have 30 seconds for loop video duration so is even shorter.

enjoy,
Mtz
 
Last edited:
Back
Top