Make S3IS Record 1080p Video By Brute Force? - page 2 - Script Writing - CHDK Forum  

Make S3IS Record 1080p Video By Brute Force?

  • 10 Replies

Offline reyalp

  • ******
  • 14086
Re: Make S3IS Record 1080p Video By Brute Force?
« Reply #10 on: 17 / December / 2022, 15:50:38 »
Is there a known, existing, clean way to do this?  Probably not.  I know Magic Lantern code and cams a lot better than CHDK project, so I might be wrong.
As I mentioned in the earlier post, you can use chdkptp to read arbitrary memory locations from a PC. You can also write them. Of course, doing so requires a PTP transaction, which will itself cause all kinds of side effects. You could also do this from CHDK Lua, which can run asynchronously after being sent over PTP.

In the CHDK world the variables you are talking about are called "Property cases", they are the basis for every CHDK port and are well researched and known for all generations of cameras.
There are no locked features on your camera that could increase the video resolution, it's a hardware issue.
Right, property cases are one high level interface, and you can examine and change them easily, again either using chdkptp or script. But as blackhole says, we can be quite certain that arbitrary video resolutions can't be set this way.

Setting a particular video resolution actually involves a lot of different elements, which have to be perfectly coordinated.

You have dimensions used at various points, buffers that must be sufficient size to contain the data, parameters and timings for the sensor readout hardware, codec parameters and so on. Thousand and thousands of machine code instructions refer to these values in one way or another.

There is no reason to assume the Canon code has a single location where you just set WIDTH*HEIGHT @FPS. In fact, having spent a fair bit of time poking around the code related to live view modes (for HDMI / LCD / NTSC / PAL), I'm quite certain it doesn't. Instead, the Canon firmware is written around predefined modes, which implicitly set the other values where needed. E.g. you set mode 3, and one part of the code will have a switch that identifies it as, say 640x480, and another part of the code will configure sensor readout with various parameters, and another will use it to calculate an offset into a structure that has buffer addresses. There are even some unused modes on some cams ( but they don't fully work because not all the code is set up to support them.

There's a reason why I kind of have some doubts about that. The camera can take 6MP photos, so technically, it is possible to take any photos smaller than 6MP, and yet I am only stuck to the L,M1,M2,S,W presets. I believe that if I can access the software portion that controls the capturing resolution, and force it to use a resolution of at least 720p, but maybe make it completely disable the live screen and completely focus all resources on recording video, I might be able to do it.
You might ask yourself why you believe your gut feeling over the experience of people who have spent well over a decade working on this stuff, but then again, you might not ;)

Anyway, again the only way to truly answer the question is to do the work, and that work is reverse engineering.
« Last Edit: 17 / December / 2022, 15:53:18 by reyalp »
Don't forget what the H stands for.


Related Topics

SimplePortal 2.3.6 © 2008-2014, SimplePortal