Состоялся выпуск библиотеки OpenAPV 1.1.1.0, предоставляющей эталонную реализацию видеокодека APV (Advanced Professional Video), предназначенного для профессиональной записи и обработки видео без различимой потери качества. Версия OpenAPV 1.1.1.0 отмечена как первый релиз в серии 1.0. Код библиотеки написан на языке С и распространяется под лицензией BSD. Проект развивает организация Academy Software Foundation, созданная для продвижения использования открытого ПО в процессе создания фильмов.
APV 포맷은 Apple ProRes 및 Avid DNxHD를 포함한 편집 코덱에서 요구하는 높은 처리량과 낮은 복잡성을 갖춘 인트라프레임 인코딩을 제공하며, 재인코딩 중에도 화질 저하가 거의 없습니다. 2K, 4K, 8K 해상도, HDR10/10+ 표준(비디오의 HDR 사용), 병렬 인코딩/디코딩을 위한 프레임 타일링, 다양한 색상 샘플링 포맷, 멀티뷰 비디오, 그리고 메타데이터(깊이, 투명도, 미리보기 데이터) 추가를 지원합니다. 워크플로우 속도 향상을 위해 OpenAPV 라이브러리는 멀티스레드 인코딩 및 디코딩을 지원하고, 확장된 NEON(ARM) 및 SSE/AVX(x86) 명령어 세트를 활용한 최적화를 제공합니다.
새 버전에서:
- Добавлены новые функции выборочного декодирования oapvd_decode_auinfo(), oapvd_decode_frame(), oapvd_decode_tiles() и oapvd_decode_metadata(), а также функции получения информации oapvd_info_pbu(), oapvd_info_frame() и oapvd_info_tile().
- Предложены дополнительные профили, допускающие нестандартную разбивку кадра на раздельно декодируемые блоки (tile). Использование блоков меньшего размера даёт возможность усилить распараллеливание обработки кадра и точечно декодировать отдельные части кадра. Профили реализованы для разных форматов цветовой субдискретизации и глубины цвета — 422-10-UNCONST (4:2:2, 10 бит), 422-12-UNCONST, 444-10-UNCONST (4:4:4, 10 бит), 444-12-UNCONST (4:4:4, 12 бит), 4444-10-UNCONST (4:4:4+прозрачность, 10 бит), 4444-12-UNCONST (4:4:4+прозрачность, 12 бит) и 400-10-UNCONST (4:0:0, 10 бит).
- Добавлена возможность подключения собственных функций выделения памяти.
- Переделан алгоритм распределения обработки блоков по разным CPU, сложность вычислений в котором теперь имеет линейную зависимость от числа блоков, а не квадратичную.
- Добавлены варианты функции oapv_blk_to_pic_16(), ускоренные при помощи инструкций AVX2 и NEON, а также вариант функции oapv_dc_removed_had8x8(), ускоренный через инструкции NEON.
출처 : opennet.ru
