Page 7 of 7 FirstFirst ... 34567
Results 61 to 62 of 62
  1. Collapse Details
    #61
    Default
    Quote Originally Posted by lpowell View Post
    The GH1 firmware appears to contain 1024 hard-coded quantization matrices in ROM, selectable by the T1-T4 patch settings.
    Actually, no, it does not contain anything like this.

    From a technical perspective, 1024 different Q-tables would make absolutely no sense. The camera needs perhaps 8 different Q-tables for the different levels of still-frame quality and motion-frame quality. Could it have more tables for testing or future use? Sure, but nothing like 1016 more. From an engineering perspective that would be a ridiculous waste of firmware bytes.

    Also Vitaliy, who knows more than any of us about the firmware internals, posited in this thread that the quantization tables are all scaled from a (single) source table in the hardware.

    I think you are confused because the hack tool labels this value "Table", and it affects the final Q-table in some as-yet-unknown way. But it is NOT a Q-Table reference. According to Vitaliy, it is simply an index into a 1KB data table in the firmware.

    It is possible that this data table contains several variable-length lists of scaling factors, with a terminator or length byte to delimit each sequence. That's my best guess, unless/until Vitaliy can provide the actual values for inspection.

    But it is simply impossible that each byte in that table would represent a unique Q-table stored somewhere in hardware.

    You aren't conversant with machine code, so I'll explain: Each byte has a range of 256 values. So even if these bytes were pointers elsewhere in the firmware or hardware, they could only point to 256 different places. There is no way that they could point to 1024 different tables.

    The highest numbered table used by the GH1's MJPEG factory settings is Table 155, and I haven't tested any tables higher than that.
    OK. So you're saying that you did a binary search on the values between 0-155, and they consistently converged on your desired bitrate?

    Or did some fail, or give unexpected bitrates?

    The number of values that you tested is very small, that it would be best if you could just list them all along with results.

    J


     

  2. Collapse Details
    #62
    Senior Member
    Join Date
    Mar 2010
    Posts
    2,524
    Default
    Quote Originally Posted by jaydil View Post
    ...But it is simply impossible that each byte in that table would represent a unique Q-table stored somewhere in hardware.

    You aren't conversant with machine code, so I'll explain: Each byte has a range of 256 values. So even if these bytes were pointers elsewhere in the firmware or hardware, they could only point to 256 different places. There is no way that they could point to 1024 different tables.
    LOL, as it happens, I've specialized in assembly language DSP optimization of audio and video codecs for the last 15 years. As far as wasting firmware space is concerned, a JPEG quantization table has 64 entries, and 1024 of these tables would occupy just 64 kilobytes out of the 8.7 megabyte GH1 firmware file. But since I'm evidently too confused to understand how ridiculously impossible it would be to engineer such a thing, you may have to resort to figuring out the rest of it on your own.


     

Page 7 of 7 FirstFirst ... 34567

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •