Após quase um ano de desenvolvimento, o pacote multimídia FFmpeg 8.0 está disponível, incluindo um conjunto de aplicativos e uma coleção de bibliotecas para operações em vários formatos multimídia (gravação, conversão e decodificação de formatos de áudio e vídeo). O pacote é escrito em C e distribuído sob as licenças LGPL e GPL.
Entre as mudanças no FFmpeg 8.0:
- Os codecs FFV1 (codificação e decodificação) e ProRes RAW (apenas decodificação) foram implementados com base na API gráfica Vulkan 1.3, destacando-se pelo aumento significativo de desempenho devido à paralelização das operações. Estão sendo testados codificadores e decodificadores baseados na API Vulkan para os formatos ProRes e VC-2. Os codecs baseados na API Vulkan utilizam sombreador computacional e oferecem aceleração de hardware.
- Extensões da API gráfica Vulkan foram utilizadas para aceleração de hardware na decodificação de vídeos VP9, VVC (baseado em VAAPI) e H.264 (baseado em OpenHarmony).
- Extensões da API gráfica Vulkan foram utilizadas para aceleração de hardware na codificação de vídeos AV1 e H.264 (baseado em OpenHarmony).
- Decodificadores foram adicionados para os formatos de codificação de vídeo APV (Advanced Professional Video), ProRes RAW e RealVideo 6.0.
- Decodificadores foram adicionados para os formatos de codificação de áudio Sanyo LD-ADPCM, Xbox ADPCM IMA e G.728.
- Um codificador para o formato APV (Advanced Professional Video) foi implementado com base na biblioteca libopenapv.
- No decodificador do formato de vídeo VVC (Versatile Video Coding, H.266), foi adicionada suporte para as extensões IBC (Inter Block Copy), SSC (Screen Content Coding) e ACT (Adaptive Color Transform), além do modo de paleta. Uma variante do decodificador de vídeo VVC, que utiliza VAAPI, foi adicionada. Foi implementada a possibilidade de usar o formato VVC em contêineres multimídia Matroska.
- A biblioteca libx265 agora suporta a codificação de canal alfa (transparência).
- Foi adicionada uma camada para uso de codificadores e decodificadores acelerados por hardware do projeto OpenHarmony.
- Suporte à codificação de imagens animadas no formato JPEG XL foi adicionado, utilizando a biblioteca libjxl.
- Apoio aprimorado para áudio e vídeo multitrack no formato FLV v2.
- O empacotador de contêineres multimídia MP4 agora suporta os formatos AV1 e APV.
- Removida a desativação da vetorização automática ao compilar com GCC em sistemas x86, ARM e AArch64.
- Otimizações de assembler implementadas com base nas instruções AVX-512, permitindo acelerar significativamente algumas operações usadas na decodificação de vídeo.
- Novos filtros:
- whisper para reconhecimento automático de fala usando o modelo de IA Whisper.
- colordetect para determinar a faixa de valores eficaz e o modo de canal alfa.
- pad_cuda para adicionar bordas ao fluxo de vídeo de entrada usando CUDA.
- scale_d3d11 para redimensionamento de vídeo usando a API gráfica Direct3D 11.
- O suporte para versões da biblioteca OpenSSL anteriores à 1.1.0 foi encerrado.
- O suporte para o assembler yasm foi encerrado (apenas o suporte a nasm permanece).
- Os codificadores baseados na API OpenMAX (Open Media Acceleration) foram declarados obsoletos.
- A verificação de certificados TLS (devido à alteração do comportamento no processamento de TLS, o número da versão do FFmpeg foi significativamente alterado).
Fonte: opennet.ru
