Pull to refresh
35
0
flaresun @flaresun

User

Send message
Здесь больше вопрос к производителю девайса, а не чипа. Некоторые пару раз выпускают багфиксы и через три месяца забывают о модельке, некоторые поддерживают модель пока она не устареет (в текущих реалиях год-полтора).
У меня MT6577, выходил с 4.0.4 версией. Официально обновился до 4.1.2, кастомная последняя ставится 4.2.2.
Не могу сказать, что очень долго поддерживали. Но между версиями андроида больше года.
С нынешними темпами развития производительности и прожорливости ПО постоянные обновления до последних версий противопоказаны :)
Многое зависит от качества сборки… даже не производителя, а конкретного устройства.
У меня уже старенький китайский jiayu с MT6577. После покупки радовался хваткому GPS по сравнению с заменённым HTC (на квалкоме). Но как-то выпал период частых падений телефона и теперь gps отвратительный :(
Супруге взял jiayu c MT6592, из первых партий. Холодный старт GPS не сильно отстаёт от полноценных gps-навигаторов. Но при этом на «телефонных» форумах не мало тем по данному телу типа «Как поправить ужасный GPS». В этом китайце всё равно дешёвая gps-антена, но вот с качеством сборки, видимо, повезло.
Это же «сертифицированная ОС». Systemd в ней только года через два появится, а то и позже :)
> Скрипт обрабатывает посылаемые ему сигналы с задержкой указанной в
> переменной CHECK_PERIOD, а не моментально.
> … зависит именно из-за цикла


Здесь не цикл виновал, а sleep. Сигнал отправляется bash'у, им же получается и обрабатывается, но bash в скрипте — это то, что находится между вызовами внешних утилит, то есть как только по завершении sleep'а к bash'у вернётся управление, так он сразу же сделает всё, что от него требуется…
> печально известный rolling shutter

Да, я как раз про него. С одной стороны досадная особенность некоторых матриц, с другой стороны при правильном подходе и снижении размера картинки можно получить более «быстрое» видео на тех же мощностях.

.
> нужно стараться допустить как можно меньше размытия.

С этим не поспоришь. Но мы же про бюджетный сегмент…

А хочется качественного видео — вот гоупрошка hero4 вышла, всего $500. Правда там для 1080p только 120fps, но уверен, что с их качеством можно будет построить отличные 240fps. Благо реализаций алгоритма уже достаточно, в том числе есть и opensource.

Хотя с китайцев станется реализовать алгоритм с похожим результатом vimeo.com/27681404 на аппаратном уровне :) Тогда им и кадров много снимать не нужно, лишь бы каждый кадр был достаточно чётким.

Посмотрим чего будет на выходе, когда пойдёт в серию…
В таком контексте не хотелось тратить время на поиск этой далеко не свежей инфы.

Сразу оговорюсь — про реализацию этой возможности именно в данном чипе я могу только предполагать, но я описал давно применяемую практику для решения озвученной проблемы с требованием «короткой выдержки». Собственно в моём предыдущем комменте формулировка как бы намекает на решение задачи в общем случае, а не конкретно в смартфонах на чипе из темы.

Вы сами упомянули фото, поэтому от него и оттолкнусь.
Когда-то давно (ну как давно, лет шесть-семь назад :) ) я озадачился выбором фотоаппарата. На тот момент анонсировали casio ex-f1, который мог снимать видео в 1200fps. Так как на тот момент это был довольно свежий аппарат, и такая возможность в нём тоже была свежа, то постепенно по нему появилось много инфы. Сейчас, увы, найти её сложнее. Но там была инфа на интересующую Вас тему.
Это было вступление и указание в каком направлении можно найти запрошенную информацию :) Почитайте каким образом на небольшой и не очень дорогой шестимегапиксельной матрице с не самым дорогим чипом удалось получить видео с таким фреймрейтом.

Вы никогда не замечали, что при фотографировании на смарт при не самых подходящих условиях на экране во время «прицеливания» всё отображается довольно чётко, а сама фотография получается смазанной? При этом смазанная она не при просмотре 1:1, а при просмотре в том же масштабе на том же экране. А при увеличении iso в настройках (это я всё про смартфоны) до максимального значения фотография из 8 мегапиксельной превращается в 1.3 мегапиксельную. Можем сделать вывод, что есть зависимость от того, сколько информации за раз надо снять с матрицы.
А почему горизонтально двигающийся предмет (быстро двигающийся) может поменять форму на видео?
1. image, 2. image
(1 — падает вниз, 2 — летит горизонтально)
Правильно. Потому что снимая изображение построчно для 300fps-видео нижняя строка кадра снята примерно на 1/300 сек. позже, чем верхняя. Т.е. при самой короткой выдержке упомянутого фотоаппарата в 1/40000, при построчном считывании мы как бы получаем 1/115000 выдержку для каждой строки. Тут это достаточно условно, так как можно снимать по две-три-пять строк за раз, в большинстве случаев это почти никак не скажется на полученном изображении. Но при тех же 300fps-ах мы получаем каждую строку с гораздо более короткой выдержкой.
Для видео картинки вроде второй (с мячом-эллипсом) — обыденность. Даже при съёмке на киноплёнку верх и низ кадра «получают» изображение в разный временной период, так как затвор не может открыть весь кадр целиком мгновенно.

.
> видео снимаемое через 9 строк весьма неслабо «плыло». Это во-первых

Попробуйте взять 20-мегапиксельную картинку (5K x 4K) и в фоторедакторе уменьшить до 2.08-мегапиксельной (1920x1080). Потом исходное изображение сдвинуть на 1 пиксель наверх и опять уменьшить, потом так же сделать ещё несколько «кадров». Посмотрите насколько сильно «поплыл» результат.
Да и про девять строк я написал примерно, шаг может быть как меньше, так и больше.
Подумайте как реализуется в цифровых фотоаппаратах съёмка фотографий разного размера (5, 8, 12, 20 мегапикселей). Думаете для мЕньших разрешений задействуется меньшая площадь матрицы? Ну так в кадр и там и там попадает одинаковая область…

.
> Во-вторых, физику тут никто не отменял. Чтобы делать 480fps надо объект на матрице фиксировать не дольше 1/500сек

Не путайте фото и видео. Это в фотографии нужно зафиксировать полное изображение на матрице и считать его за раз, чтобы не получилось как с мячом на картинке. У видео цель немного другая, а при отсутствии возможности в бюджетном сегменте снимать огромное кол-во полных кадров за секунду, требование к получению полных кадров (где все пиксели изображения получены с одного временного периода) просто отпадает.
Я, скорее всего, просто не достаточно точно выразился. Я не утверждаю, что видео будет сниматься с выдержкой 1/50 сек, просто данной выдержки будет вполне достаточно.

Это видео, не фото. Матрица не фиксирует статичное изображение, она его принимает постоянно. Тут нет затвора как на зеркалке, считывается со строки то изображение, которое пришло сейчас, а не зафиксированное какое-то время назад. Почему Вы думаете, что отсчёт 1/50 сек для всех строк должен начинаться в одно время? Для первой строки он начинается во время t, для девятой в t+1/200000 сек. (например), и т.д. для первого кадра, при этом вторая строка (которая первая для второго кадра) начинает считываться в t+1/480 сек.
и т.д.

Если 20-мегапиксельная матрица + чип позволяют сделать фотографию с минимальной выдержкой в 1/100 сек. и снимают изображение построчно, то на каждую строку может приходиться более короткая выдержка. Ограничение на минимальную выдержку накладывается в том числе и пропускной способностью и скоростью обработки данных чипом. Если все 4000 строк начнут «принимать» изображение одновременно, а считывать мы их будем последовательно, то последняя строка будет на 1/100 сек переэкспонирована по сравнению с первой, т.о. получаем, что каждая строка должна начинать отсчёт своих 1/100 сек на 1/400000 сек позже предыдущей.
(все цифры примерные, только для пояснения, при считывании по 4 строки за раз задержка должна будет составить 1/100000 сек, например).

Посмотрите action-камеры, которые умеют большой fps. Почему для бОльшего fps нужно уменьшать размер изображения? Почему на 240fps картинка получается не очень чёткой? Это не 848x480 пикселей чёткого изображения, это 848x480 пикселей достаточно размытого изображения. При этом 1080p 60fps — каждый кадр чёткий и резкий. Т.е. проблема не в пропускной способности и скорости обработки чипом (тут я уже про gorpo hero 3).

.
> Любому фотолюбителю изестно, что делая короче выдержку надо увеличивать либо диафрагму, либо чувствительность

В том-то и прелесть «построчной съёмки» видео с большой матрицы. Нам не нужно делать выдержку короче, нужно просто в правильном порядке и с правильной задержкой считывать изображение последовательно.

Любому видеоператору знаком эффект, как на картинке с мячом, и большинство из них знает природу этого эффекта.

Да и расчёт тут пришёлся в пору.
заявлена матрица в 20Mpx
заявлено видео 1080p, т.е. 2.08MPx
видео меньше разрешения матрицы в 9.6 раз
при выдержке 1/50 сек получаем 50*9.6 = 480

Вот честно — не подгонял результат, не подбирал перебором. Оно само так получилось.
Само собой, это может быть простое совпадение. Но почему-то же не сделали 500 или 600 fps, а обещают именно 480.
Для решения подобной задачи видео снимают черезстрочно. Если учесть, что fullhd видео — это 2.08 мегапикселя, то в заявленной 20 мегапиксельной камере в «одном снимке» уже есть чуть больше девяти кадров (точнее 9.6). Т.е. сенсор «принимает» изображение постоянно, а «снимается» оно с него построчно — сперва снимаются 1,10,19,28,… линии вертикальной развёртки, потом для следующего кадра 2,11,20,29,…, потом 3,12,21,… и т.д., пока «снимается» один кадр, проходит некоторое время, и следующий кадр снимается вроде бы и с того же изображения, но всё же в другом временном промежутке. Соответственно при выдержке в 1/50 мы получаем ровно 480 кадров в секунду.
Эм. HD-SDI по USB-проводу? Да и не слабовата ли начинка для такого потока…
Затраты указаны ощутимые. А каков порядок з/п?
Прочитал комменты, вопрос снят :)
А то что в категорию не попадёт будет немедленно потрогано сотрудниками организации, в кототорую принесут товар для оформления возврата )
Не совсем так. Есть неустойка. А есть 50% от суммы иска, которые так же выплачиваются истцу (а не в казну). Т.о. если магазин тянет чуть более трёх месяцев, то имеем 100% стоимости товара в качестве возврата за товар, 100% стоимости товара в качестве неустойки и 50% от суммы возврата и неустойки, т.е. ещё 100% стоимости товара. Многие клиенты угрожают судом, но туда идут единицы, именно поэтому многие организации пытаются обмануть клиента. Но возвращать деньги за товар и сверху выплачивать ещё две его стоимости они тоже не любят, поэтому когда дело доходит до получения автографов в бумажки, довольно часто сразу же находится ответственный сотрудник, который «пойдёт на встречу» нерадивому клиенту, чего-то напутавшему в законах, но настолько дорогому для магазина, что его требования будут выполнены…
Положу здесь, вдруг кому пригодится :)
20 most important Perl Best Practices
Вообще я не планировал обсуждать непосредственно код, потому и написал, что у каждого свой подход. Но пример привести могу.

Например я согласен, что такой вариант может улучшить читаемость. Я и сам не люблю подобные короткие блоки разносить на пять строк.
Методы в одну строку.
sub node { shift->tree->[0] }
* само собой при условии, что они достаточно короткие и рядом есть аналогичные по длине


Но такой вариант записи вряд ли улучшит читаемость/понимаемость кода.
Срез массива.
$_ eq $child ? last : $i++ for @$parent[$i .. $#$parent];

Здесь конечно не метод, но тоже некий блок, да ещё с условием в краткой форме. По мне так гораздо читабельнее было бы записать этот фрагмент как метод в одну строку (из примера выше). Да и при необходимости выполнить более одной операции в результате сравнения такой вариант придётся переписывать, а не просто добавить новое действие. Тут на мой взгляд и ухудшение читаемости и закладывание необходимости большего объёма работ для любой небольшой правки кода…
Ну она точно так же использует hg/git/bzr/… и имеет набор хуков для менеджеров пакетов в разных дистрибутивах. Мне проще/понятней будет самому выполнять commit :). А так как пока меня подход заинтересовал исключительно в плане содержимого конфигов, то действительно для меня проще напрямую использовать привычную vcs.
А вообще по теме… Соглашаться или не соглашать со стилем программирования — тут у каждого свой подход. А вот стиль изложения мыслей довольно сложный, путанный. Где-то описание к примерам похоже именно на описание, или пояснение, а где-то это просто заголовок.


используется такая конструкция условия, если первое истина, а второе ложь, чтобы не выполнялось второе условие, если первое ложь.
Там собраны некоторые функции, в методе import, через вышеописанную функцию monkey_patch добавляются.

Понимать сложно…


И если часть примеров вроде бы нацелены на улучшение читабельности кода, то остальные совершенно противоположны этой цели :)
Вот говорю я коллегам, что perl — это не страшно, perl — это не сложно, perl — это читабельно/понимабельно, perl — это не обфускатор. И что я теперь скажу, если они прочтут эту статью? :-D

Плагином к vim'у не поделитесь? :)
А /etc под hg запихнуть — интересная идея. Сам сижу на arch'е (выше про убунту — это скорее наблюдение со стороны и последующая помощь в возврате системы к жизни :) ), конфиги тут сами по себе не меняются, а вот чтобы свои бекапы при серьёзных изменениях не плодить использование cvs может оказаться удобным/полезным…
На моей памяти ни разу ubuntu после обновления (например, 12 -> 13) не вела себя как свежеустановленная система или хотя бы не хуже этой же системы до обновления. Почему-то всегда вылезали какие-то проблемы, когда больше, когда меньше, и проще было форматнуть / и переустановить систему не форматируя /home — 30 минут работы (с учётом скачивания дистрибутива и записи на флешку) и получаем свежеустановленную почти полностью настроенную систему.
У них написано, что он очень похож на bittorrent. Но «очень похож» не равно «такой же».

Information

Rating
Does not participate
Location
Россия
Registered
Activity