Я работаю с декодером H.264 с использованием программного обеспечения Jm. Я ищу некоторые инструменты распараллеливания для распараллеливания ссылочного кода декодера H.264 для многопроцессорного сопоставления. PLZ предлагает, поскольку я относительно новичок в этой области.Инструменты для параллелизации H.264?
ответ
Существует нет наивного способа решения этого вопроса - а тем более общего подхода «автоматизированного преобразования».
Только детальное понимание того, как работает H.264 и грамотного применения правильных методов распараллеливания после правильно parallized алгоритма позволит получить полезные результаты.
H.264, как и большинство видео форматы, полагается на временных кадров данных и эффективно только вычисляет «бегущий треугольник», что делает эту проблему очень сложный. Это всего лишь один методов, используемых для достижения такого хорошего сжатия, но сложность формата здесь не прекращается: Большинство данных связано некоторым образом! (Чем более зависим от данных, тем меньше он подходит для параллельной обработки.)
Я бы предложил искать реализацию (без ссылки на Open Source), которая использует потоки, если такая реализация существует. Возможно, посмотрите на кодек, используемый VLC? (В конце концов, я подозреваю, что больше пользы приходит от разгрузки до специальных аппаратных средств, содействующих модули, таких как те, которые в комплекте с современным ATI или NVidia графических процессорами.)
Если вы действительно заинтересованы в проведении этого, смотрите ...
- EFFICIENT PARALLELIZATION OF H.264 DECODING WITH MACRO BLOCK LEVEL SCHEDULING
- Parallel Scalability of H.264
- A Highly Scalable Parallel Implementation of H.264
... и миллион других белых документов там (поиск «параллельного декодирования h.264»).
- 1. H.264 Temporal Reference
- 2. H.264 в Firefox
- 3. Кодирование видео H.264
- 4. H.264/FLV лучшие методы для HTML
- 5. Android H.263 или H.264 файл?
- 6. Tune FFmpeg H.264 Decoder
- 7. Требования к потоку H.264
- 8. Инкапсулирование H.264 в MP4
- 9. Кодирование видеоизображения Flowplayer H.264
- 10. Rack H.264 Packet Depacketizer
- 11. штампы времени RTP \ H.264
- 12. ffmpeg h.264 неправильная резка
- 13. MP4 H.264 во Flash
- 14. Видеокодер H.264 в javascript
- 15. h.264/svc мобильная поддержка
- 16. Декодирование H.264 без потока
- 17. Декодирование H.264 NALU stream
- 18. h.264 и mpeg header
- 19. Безопасное место для обрезания данных H.264?
- 20. Openmax на Android для декодера H.264?
- 21. Добавление поддержки H.264 для родного WebRTC
- 22. Библиотека для декодирования H.264 RTSP stream
- 23. H.264 AVC поддерживается для телефонов android?
- 24. decimal to base64 преобразование для H.264
- 25. Инструмент для чтения статистики видеофайлов h.264
- 26. H.264 NALU Byte Alignment
- 27. Преобразование H.264 в H.263 для телефона android
- 28. H.264 или H.265 для личного резервного копирования видео
- 29. Странные заголовки NAL H.264
- 30. Как отображает AVSampleBufferDisplayLayer H.264
Я согласен с вами в отношении сложности, и я столкнулся с ней довольно долго. Я создал график вызовов основной функции, чтобы лучше понять код и получить представление о потоке данных, но все же, когда он приходит к распараллеливанию кода, зависимость данных слишком велика, что делает параллельную обработку очень сложной. Я попробую ваше предложение. Спасибо. –
Я прочитал эти статьи и еще несколько работ по этому вопросу. Это дает мне теоретическое представление о том, как это было сделано, но как его реализовать, по-прежнему вызывает сомнения. –