Получилось выставить advanced GOP правкой 1 байта в коде в момент загрузки бутовых параметров (значения структуры из секции данных не используются вообще).
После первого включения на запись начинает писать 3/15/60, но примерно через 5-8 секунд притормаживает, выдает сообщение типа: недостаточная скорость памяти, замените карту (по-русски), закрывает начатый файл, открывает новый и продолжает писать но уже в simple GOP - 4/32/120. Если остановить запись и включить снова - продолжает писать в simple. Если полностью выключить прибор, то при первом включении на запись картина повторяется: сначала GOP расширенный, затем простой.
Т.е. simple GOP сохраняется в настройках (в ROM), но после включения записи происходит перенастройка по фактической скорости памяти.
Оценить прирост качества по 5-8 секундным роликам затруднительно, субъективно я бы сказал, что оно не велико, на пороге восприятия.
Карта, вроде, не из самых худших: сандиск 10-го класса. 24 Mbps но в simple GOP пишется со свистом (выше не проверял), а вот в advanced GOP не тянет.
Возможно, надо попутно править другие видеопараметры и размеры буферов, но для этого нужно знать доку по API, что бы правильно рассчитать их значения.
Подопытный - "орандж олд" со 128 метрами RAM, что является нижним пределом для реализации advanced GOP.
Для дальнейших опытов нужна утилита, которая могла бы адекватно вычислять фактическую формулу последовательности GOP по содержимому фреймов, а не по соотношению m/n в заголовке файла типа 1/8. Возможно, аvidemux, которым я пользовался для определения GOP, руководствуется именно этим соотношением. При расширенном GOP оно должно быть 1/5.
Добавлено спустя 1 ч. 10 мин. 31 сек.в контрольной сумме ошибся
Если б ошибся, прошивка была бы отвергнута загрузчиком и прошиться не получилось бы.