Home > Davinci, Gstreamer, LeopardBoard > AAC/MP3 Codecs support for DM355 with GStreamer

AAC/MP3 Codecs support for DM355 with GStreamer

November 3rd, 2009

Cristina has finished her graduation project with the Leopard board, and now we have (almost) completely AAC-LC and MP3 encode/decode support with the gstreamer plugin.

We have tested the encoders to properly generated standalone AAC or MP3 files, as well as muxplex them into a mp4/quicktime container format. The only remaining issue is related to the the encoders being unable to be used at the same time as the alsa capture driver (Cristina already ask Ittiam about the problem, but we haven’t got any feedback yet). In any case the issue is reproducible with Ittiam’s command line demo apps, so we don’t think is a gst issue.

As usual the beauty of a gstreamer solution is on the simplicity of the examples:

Encoding AAC audio into a quicktime container (two steps due the encoder bug):

gst-launch alsasrc ! audio/x-raw-int, width=16, depth=16,  endianness=1234,
channels=2, rate=44100, signed=true ! filesink location=/audio.pcm
 gst-launch -e filesrc location=/audio.pcm ! audio/x-raw-int, width=16,
depth=16,  endianness=1234, channels=2, rate=44100, signed=true !
dmaienc_aac ! qtmux ! filesink location=/audio.m4a

Decoding the AAC audio from quicktime container:

gst-launch filesrc location=/audio.mp4 ! qtdemux ! dmaidec_aac ! alsasink

Encoding AAC audio elementary stream:

gst-launch filesrc location=/audio.pcm ! audio/x-raw-int, width=16,
depth=16,  endianness=1234, channels=2, rate=44100, signed=true !
dmaienc_aac outputformat=2  ! filesink location=/audio.aac

Decoding AAC elementary stream:

gst-launch filesrc location=/audio.aac ! aacparse ! dmaidec_aac ! alsasink

Encoding MP3 elementary stream:

gst-launch -e filesrc location=/audio.pcm ! audio/x-raw-int, width=16,
depth=16,  endianness=1234, channels=2, rate=44100, signed=true !
dmaienc_mp3 ! filesink location=/audio.mp3

Decoding MP3 audio:

gst-launch filesrc location=/audio.mp3 ! mp3parse ! dmaidec_mp3 ! alsasink

The support for these features is available on DDOMPE’s branch, and will likely be available on the 2.0 release of the gst-ti-dmai plugin.

Enjoy.

Davinci, Gstreamer, LeopardBoard , ,

Comments are closed.