FFmpeg 7.0 "Dijkstra" lançado com otimizações importantes do AArch64 para HEVC

FFmpeg 7.0 "Dijkstra" lançado com otimizações importantes do AArch64 para HEVC

FFmpeg 7.0 estrutura multimídia de código aberto já está disponível para download com suporte a Dolby Vision perfil 10 em AV1 e outras mudanças.

O FFmpeg 7.0, uma atualização substancial do aclamado framework multimídia de código aberto, foi lançado aproximadamente cinco meses após a introdução da versão FFmpeg 6.1. Esta nova versão traz consigo uma série de melhorias significativas, introduzindo novos recursos, decodificadores e filtros, reforçando ainda mais sua posição como uma ferramenta essencial para manipulação de mídia.

Entre os principais destaques do FFmpeg 7.0, destaca-se o suporte ao perfil Dolby Vision 10 no AV1, possibilitando uma experiência aprimorada em termos de qualidade visual. Além disso, foram adicionados suportes para imagens estáticas nos formatos HEIF/AVIF, bem como imagens estáticas lado a lado, ampliando as capacidades de manipulação de imagens do framework.

Outra melhoria notável é o suporte aprimorado para PacketTypeMetadata do PacketType no formato FLV, proporcionando uma melhor integração com esse formato de arquivo específico. Além disso, a decodificação acelerada por hardware foi expandida para incluir o D3D12VA para H264, HEVC, VP9, AV1, MPEG-2 e VC1, proporcionando um desempenho mais eficiente em sistemas compatíveis.

FFmpeg 7.0 também traz diversas adições importantes, como o suporte para metadados do Ambiente de Visualização em arquivos MP4/ISOBMFF, decodificação EVC utilizando a biblioteca externa libxevd, e codificação EVC utilizando a biblioteca externa libxeve. Além disso, a versão introduz a capacidade de demuxing paralelo, decodificação, filtragem, codificação e muxing na interface de linha de comando (CLI) ffmpeg, tornando o processo de manipulação de mídia mais eficiente e flexível.

Entre as melhorias de desempenho, FFmpeg 7.0 implementa otimizações específicas para arquiteturas AArch64 e LoongArch, melhorando a decodificação HEVC em dispositivos que utilizam essas arquiteturas. Além disso, otimizações para arquiteturas RISC-V foram adicionadas para uma série de formatos, incluindo AAC, FLAC, JPEG-2000, LPC, RV4.0, SVQ, VC1, VP8, entre outros.

Outras adições notáveis nesta versão incluem a introdução da capacidade do dispositivo gdigrab de capturar uma janela utilizando a sintaxe hwnd=HANDLER, bem como a inclusão da função randomi() em expressões. Além disso, foram adicionados suportes para o protocolo URIs de conteúdo Android e para decodificação acelerada por hardware no ffplay, dependendo de um renderizador Vulkan através da biblioteca libplacebo.

O suporte à passagem de metadados HDR10 foi incorporado ao FFmpeg 7.0 ao codificar com libx264, libx265 e libsvtav1, juntamente com uma série de novos decodificadores e codificadores, como DXV DXT1, LEAD MCMP, QOA, VVC experimental, entre outros.

Além das adições de recursos, várias melhorias de usabilidade foram implementadas, como a alteração do método de controle de taxa de bits padrão de VBR para CQP para codificadores QSV, a adição de uma opção -show_stream_groups ao comando ffprobe, e a atualização das opções ffmpeg CLI para serem usadas como -/opt, entre outras.

Por fim, sob o capô, FFmpeg 7.0 agora requer um compilador compatível com C11, com planos para aumentar esse requisito para C17 em versões futuras. Isso incentiva os integradores de sistemas a considerarem a atualização de seus ambientes de compilação para garantir compatibilidade futura.

FFmpeg 7.0 está disponível para download no site oficial e inclui uma variedade de componentes atualizados, como libavutil 59.8.100, libavcodec 61.3.100, libavformat 61.1.100, libavdevice 61.1.100, libavfilter 10.1.100, libswscale 8.1.100, libswresample 5.1.100 e libpostproc 58.1.100.

Última atualização deste artigo: 5 de april de 2024