Yi hacked resolution 2304x1296 30fps 35Mbits

Alright Funnel, this is a great and very clear set of instructions, it's taken me (with 0 experience) 90% of the way there.

1. I can open my firmware, extract with AFT, make modifications and compare with the vanilla using HxD to see how my bitrate/video mode modifications correspond to the hex table. Done.
2. ?
3. I realize that once I'm able to record video in this mode, I'll be able to use VLC to figure out what the corresponding resolution is.

However, where I'm stuck is getting from step 1 to step 3. How can I turn an address and change from the .a7s into a writew or writeb command in the autoexec?

For example, if in the .a7s, offset line 004C2840 has changed from
03 00 00 00 B8 1E D5 40 ...
to
03 00 00 00 00 00 90 41

that would correspond to a line like
writew 0xC0 .. .. .. 0x .. ..
correct? How do I determine what that line would be?

I'm absolutely in over my head here, if I'm too far off base to save then just let me know ;) but if I'm close and I'm simply missing something, I'd appreciate the help!
 
Side note - do you imagine 1920x1440 would be possible? Or am I just wasting my time here...
 
There is a file PRI.a7h, open it with a text editor and you'll see the loadaddress=C0100000. You need to add this to the address. Example 0x004C2840 + 0xC0100000 = 0xC05C2840

Then you can try with something like "readew 0xC05C2840 > ww.txt" from an autoexec.ash script to see what's there. writeb is write byte, writew - write word(2bytes), writel (4bytes), readb, readw, readl.

For resoultion you can try with my script on githhub under experimental for 1.1.0 and change the hex number for your desired size, but it just upscales, downscales.
 
Hey guys, firmware 1.1.3 and app 1.8 will have 2K resolution:
Video file: 401M
by using app 1.8 beta, firmware 1.1.3
I checked today finally shows 2k resolution guys just enjoy

Hi Samiluo,

First of all, thanks for your sharing. However, inside youtube, I can only choose the 1080p format for viewing. I have to use some kinds of youtube downloader to get the 2k quality video. the file size has reduced down to 10Mbps. I believe youtube has re-compress the file again. I believe it is better to use Dropbox for sharing.

Besides, can you share the link where we can download the beta firmware and App? Thanks in advance.

rlpc8
 
Hi Samiluo,

First of all, thanks for your sharing. However, inside youtube, I can only choose the 1080p format for viewing. I have to use some kinds of youtube downloader to get the 2k quality video. the file size has reduced down to 10Mbps. I believe youtube has re-compress the file again. I believe it is better to use Dropbox for sharing.

Besides, can you share the link where we can download the beta firmware and App? Thanks in advance.

rlpc8

Sorry. I mean the movie bitrate has changed to 10MBps. File size has reduced to 232MB.
 
There is a file PRI.a7h, open it with a text editor and you'll see the loadaddress=C0100000. You need to add this to the address. Example 0x004C2840 + 0xC0100000 = 0xC05C2840

Then you can try with something like "readew 0xC05C2840 > ww.txt" from an autoexec.ash script to see what's there. writeb is write byte, writew - write word(2bytes), writel (4bytes), readb, readw, readl.

For resoultion you can try with my script on githhub under experimental for 1.1.0 and change the hex number for your desired size, but it just upscales, downscales.
Thanks Funnel. That explanation worked, I can (very slowly) navigate through this stuff now. I appreciate your help.

I'm trying to work backwards to find out the bitrate address for 1600x1200 48fps. The autoexec line is writeb 0xC0697626 0x0D, which factoring in the offset should be at 0x000597626... but my PRI.a7s ends at 0x000519000. I guess I'm confused about something!

Am I correct in assuming I'd have to test all 158 columns in the Bitrate Table to find out if the Yi can natively do 1920x1440? Without up/downscaling I mean. EDIT: I just realized that modes are in groups of 3 lines, for ABR VBR CBR. So really only ~53 modes. But if the Yi can do 2k, not upscaled, it seems to me like it should be able to use the whole 4x3 sensor at 1920x1440, shouldn't it? Really though I have no idea what I'm talking about.

Now that I see your process, I'm amazed you've been able to look up these values so quickly... this is what I imagine happens whenever someone posts a request

 
Last edited:
Most of them were already found by other people. For the others I was lucky and found them pretty quick, maybe on the 4th or 5th try. If you are smart you could do a longer script that changes a bitrate, records a few seconds video, stop recording, change second bitrate, repeat for all addresses you want to check. Then look at the recodings and find out which one it the correct one.
 
Would you funnel please give us example how to start & stop recording? I would need it for some tests.
Or point me some description/manual how to use and find autoexec.ash commands..?
 
The "t app key shutter" and "t app key shutter_rel" commands simulate the shutter key press and key_release.

Something like

sleep 8
t app key shutter
t app key shutter_rel
sleep 10
t app key shutter
t app key shutter_rel

should make a 10 sec video, first 8 sec is wait for cam boot. The cam must be set to boot in video mode obviusly. Didn't try but it should work.
 
Most of them were already found by other people. For the others I was lucky and found them pretty quick, maybe on the 4th or 5th try. If you are smart you could do a longer script that changes a bitrate, records a few seconds video, stop recording, change second bitrate, repeat for all addresses you want to check. Then look at the recodings and find out which one it the correct one.
"if i am smart" well that's the big question isn't it! Alright, I'll give it a shot :) thanks for the tip, sounds like a great way to test the whole table.
 
Actually the tables for resolution and bitrate appear to be linked 1:1. It should be easy to find what you want, or even could be possible to make a program to display the values.

firmware version 1.1.0
Bitrate table start: 0xC05C380C
Video resolution NTSC table start: 0xC05C464C
Video resolution PAL table start: 0xC05C4AC0
 
Hm, do you think it's the same in firmware 1.0.12? I should actually probably just upgrade... I have 18 cameras though, so upgrading takes a while ^^
So, are you saying that there's a way to display resolution information without physically taking video for each mode?
 
Each firmware it's a different address. Which resolution do you want to set the bitrate?
 
The "t app key shutter" and "t app key shutter_rel" commands simulate the shutter key press and key_release.

Something like

sleep 8
t app key shutter
t app key shutter_rel
sleep 10
t app key shutter
t app key shutter_rel

should make a 10 sec video, first 8 sec is wait for cam boot. The cam must be set to boot in video mode obviusly. Didn't try but it should work.
It works if you use "t app key shutter", I have not tested "shutter_rel". It is really useful for custom time-lapses, and if it's combined with "reboot yes" it's possible to create mega time-lapses.
 
The "t app key shutter" and "t app key shutter_rel" commands simulate the shutter key press and key_release.

Something like

sleep 8
t app key shutter
t app key shutter_rel
...

Thanks a lot!
 
Each firmware it's a different address. Which resolution do you want to set the bitrate?
I'm trying to discover if the Yi can do 1920x1440, 48 or 60fps, without upscaling. I'm also trying to find the bitrate address of 1600x1200 48 and 30fps. Would it be the same as 1600x1200 60fps? Thanks for all your help today, I burned a few hours but I still need practice creating autoexecs.
 
1600 x 1200 48 should be no. 105 in AFT, 1600x1200 30fps no.39.

1920 x 1440 is not there, only 2560 x 1440.
 
1600 x 1200 48 should be no. 105 in AFT, 1600x1200 30fps no.39.

1920 x 1440 is not there, only 2560 x 1440.
Thanks Funnel! This is in FW 1.1.0, correct? I'll go and update my 18 cameras now ;)
 
Last edited:
Back
Top