1 research outputs found

    API multiplataforma para aplicações multimídia embarcadas

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2010Diferentes plataformas são utilizadas para o desenvolvimento de aplicações multimídia embarcadas. É comum que compiladores estejam disponíveis para estas plataformas porém, o código gerado a partir de linguagens de alto nível não é capaz de explorar todo o potencial do hardware da plataforma alvo. Para otimizar partes críticas da aplicação, geralmente são implementadas rotinas em linguagem de máquina (Assembly). Entretanto, o uso de linguagem Assembly na aplicação dificulta sua portabilidade para outras plataformas pois seu código necessita ser reescrito. A migração de uma aplicação para uma nova plataforma, com arquitetura e características de hardware diferentes, requer a reescrita do código da aplicação para a Interface para Programação de Aplicação (API) da arquitetura fornecida pelo fabricante. Este processo requer tempo, atrasando a criação de novos produtos, aumentando assim os custos de desenvolvimento e possivelmente resulta em aplicações ineficientes, que não exploram toda a potencialidade do hardware utilizado. Este trabalho apresenta a Embedded Multimedia Cross-Platform API (EMCA) que tem como objetivo fornecer ao desenvolvedor de aplicações multimídia uma interface independente de hardware para algoritmos de processamento de sinais digitais, facilitando a migração da aplicação para diferentes plataformas. Através do uso de mediadores de hardware a EMCA permite a implementação de algoritmos DSP independentes de plataforma. São expostos os mediadores de hardware de MAC e Barrel Shifter e a interface de Transformada Rápida de Fourier (FFT) da EMCA. Foi avaliada a utilização da EMCA em um decodificador de áudio Codificação de Áudio Avançada (AAC), mostrando que a sua especialização para arquiteturas embarcadas permite a otimização da aplicação sem comprometer sua portabilidade para outras plataformas
    corecore