Lançamento do rav1e 0.3, um codificador AV1 em Rust

aconteceu questão rav1e 0.3, um codificador de formato de codificação de vídeo de alto desempenho AV1, desenvolvido pelas comunidades Xiph e Mozilla. O codificador é escrito em Rust e difere do codificador de referência libaom por aumentar significativamente a velocidade de codificação e maior atenção à segurança. Código do projeto distribuído por sob a licença BSD.

Todos os principais recursos do AV1 são suportados, incluindo suporte
quadros codificados interna e externamente (intra- и entre-frames), superblocos 64x64, subamostragem de croma 4:2:0, 4:2:2 e 4:4:4, codificação de profundidade de cor de 8, 10 e 12 bits, distorção de otimização RDO (otimização de distorção de taxa), vários modos para prever mudanças entre quadros e identificar transformações, controlar a taxa de fluxo e detectar truncamento de cena.

O formato AV1 é perceptível ultrapassar H.264 e VP9 em termos de capacidades de compressão, mas devido à complexidade dos algoritmos que os implementam requer significativamente mais tempo para codificação (em velocidade de codificação, libaom está centenas de vezes atrás de libvpx-vp9 e milhares de vezes atrás de x264).
O codificador rav1e oferece 11 níveis de desempenho, o mais alto dos quais oferece velocidades de codificação quase em tempo real. O codificador está disponível como utilitário de linha de comando e como biblioteca.

Na nova versão:

  • Modo de codificação mais rápido proposto Velocidade 10;
  • O tamanho dos assemblies binários foi reduzido (na plataforma x86_64/Linux a biblioteca ocupa cerca de 3MB);
  • Tempo de montagem reduzido em aproximadamente 14%;
  • Adicionado filtro multithread para remoção de artefatos de bloqueio de vídeo (desbloqueio);
  • Para a arquitetura x86_64, otimizações adicionais foram implementadas usando instruções SIMD e o uso de autovetorização foi ampliado;
  • O número de operações de alocação de memória foi reduzido em 1/6;
  • Em RDO (Rate-distortion Optimization), a lógica para suprimir distorções intra-quadro foi melhorada;
  • Algumas operações foram movidas do uso de aritmética de ponto flutuante para cálculos inteiros;
  • A qualidade da codificação no segundo nível de velocidade foi melhorada em 1-2%;
  • Adicionado novo filtro de previsão de direção de movimento (Intra edge);
  • Adicionada opção "-S" (--switch-frame-interval) para determinar o intervalo de troca entre frames;
  • Adicionado suporte de compilação para a plataforma wasm32-wasi (Interface do sistema WebAssembly).

Fonte: opennet.ru

Adicionar um comentário