{"id":13420980,"url":"https://github.com/felipec/libomxil-bellagio","last_synced_at":"2026-01-21T11:06:47.412Z","repository":{"id":405544,"uuid":"24229","full_name":"felipec/libomxil-bellagio","owner":"felipec","description":"Bellagio OpenMAX IL","archived":false,"fork":false,"pushed_at":"2008-12-08T20:08:43.000Z","size":2839,"stargazers_count":31,"open_issues_count":2,"forks_count":15,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-07-31T22:57:19.854Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://omxil.sourceforge.net/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/felipec.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2008-06-11T08:17:45.000Z","updated_at":"2024-07-17T13:41:21.000Z","dependencies_parsed_at":"2022-07-07T17:51:16.769Z","dependency_job_id":null,"html_url":"https://github.com/felipec/libomxil-bellagio","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipec%2Flibomxil-bellagio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipec%2Flibomxil-bellagio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipec%2Flibomxil-bellagio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipec%2Flibomxil-bellagio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/felipec","download_url":"https://codeload.github.com/felipec/libomxil-bellagio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243701277,"owners_count":20333615,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T22:01:45.663Z","updated_at":"2026-01-21T11:06:47.407Z","avatar_url":"https://github.com/felipec.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings"],"sub_categories":[],"readme":"Bellagio OpenMAX Integration Layer 1.1.1 project\nRelease 0.9.1\n\nThis is an Open Source implementation of the OpenMAX Integration Layer\n(IL) API ver. 1.1.1, specified by the Khronos group (see\nhttp://www.khronos.org/openmax).\n\nThis package includes the libomxil-bellagio shared library together with the\nfollowing OpenMAX components (built as separate shared objects and\nloaded at runtime):\nCORE FUNCTIONALITIES\n- An IL core\n- A component loader for static libraries for Linux\n- A component loader for Symbian\n- A framework of components and ports base \n  implementations for Bellagio Hierarchy\n\nAUDIO\n- OMX ALSA sink component\n- OMX ALSA source component\n- OMX audio decoder based on FFmpeg libraries that supports the\n  following audio formats:\n  o MP3\n  o Ogg Vorbis\n  o AAC (only RAW AAC format supported)\n- OMX audio decoder based on mad library that supports the MP3 audio\n  format\n- OMX audio decoder based on libvorbis that supports the Ogg Vorbis\n  audio format\n- OMX audio volume control\n- OMX audio file reader for FFmpeg components\n- OMX audio mixer component\n\nVIDEO\n- OMX video decoder decoding input MPEG-4 or H.264 format file (in H.264\n  format, there is no interlacing support) to produce output .yuv\n  file.\n- OMX video color converter component converting from decoded output\n  .yuv file to produce .rgb file.\n- OMX video sink component which uses the frame buffer to display the\n  color converter component output .rgb file.\n- OMX video capture component which captures video frame using a video\n  camera and stores into a file or display using video sink.\n- OMX Camera component also captures video having 3 ports. Port 0 is used\n  for preview; Port 1 is used for video and image capture; Port 2 is used \n  for video and image thumbnail.\n- OMX video encoder encoding input YUV format file or video captured\n  using camera component in MPEG-4 video format to produce output .m4v\n  file.\n\nIMAGING\n- An OpenmAX jpeg encoder and decoder\n\nPARSER\n- OMX 3GP parser component. Parses input file/stream for audio and\n  video output, which is then fed to audio and video decoder component\n  for decoding.\n\nCLOCK\n- OMX Clock component. It take audio(default) as input reference clock\n  and provide media clock to video sink and other component. It support\n  fast forward and rewind.\n\nSYMBIAN COMPONENTS\n- Audio mixer\n- MMF Output stream audio renderer\n- Volume control component\n\nN.B. The 3GP parser can support MPEG-4,H.264 video and MPEG-4,AAC\naudio. FFmpeg can't encode (Warning, using MS style audio codec tag,\nthe file may be unplayable!) Vorbis audio for a 3GP container and so\nalso not decodable. Because of this Vorbis decoding support has not\nbeen included in the 3GP parser.\n\nBUILD\n=====\n\nautoreconf -i\n./configure\nmake\nmake install\nmake check\n\nIf the pkg-config check fails, verify that the environment variable\nPKG_CONFIG_PATH is set, and it points to the directory(ies) containing\nthe .pc files describing the package to be verified.  Usually it can be\nset as (for a bash):\n\nexport PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/:/usr/lib/pkgconfig/\n\nBefore attempting to run any test, the OMX components *must* be\nregistered with the command \"omxregister-bellagio\".\n\n/usr/local/bin/omxregister-bellagio\n\nThat will create a registry file that will contain all the components\ninstalled by default in /usr/local/lib/libomxil-bellagio (read the man\npage).\n\nNote: the default location for the installation is TARGET=/usr/local/lib \nfor the library, and the component will be installed in TARGET/bellagio \n\nNow, run the tests.\n\nTEST\n====\n\nThe following simple test applications are provided:\n\ntest/components/audio/omxaudiodectest\ntest/components/audio_effects/omxvolcontroltest\ntest/components/video/omxvideodectest\ntest/components/video/omxvideocapnplay\ntest/components/video/omxvideoenctest\ntest/components/parser/omxparsertest\ntest/components/audio_effects/omxaudiomixertest\n\n\nAUDIO DECODER , MIXER AND SINK COMPONENT USAGE\n----------------------------------------------\n\nUsage: omxaudiodectest [-o outfile] [-stmdgh] filename\n\n       -o outfile: If this option is specified, the decoded stream is\n                   written to outfile This option can't be used with\n                   '-t'\n       -s single_ogg: Use the single role ogg decoder instead of the\n                      default one. Can't be used with -m or .mp3 file\n       -t: The audio decoder is tunneled with the ALSA sink\n       -m: For mp3 decoding use the mad library. Can't be used with -s\n           or .ogg file\n       -d: If no output is specified, and no playback is specified,\n           this flag activated the print of the stream directly on std\n           out\n       -g: Gain of the audio sink[0...100]\n       -h: Displays this help\n\nUsage: omxvolcontroltest [-o outfile] [-g gain] filename\n\n       -o outfile: If this option is specified, the output stream is\n                   written to outfile otherwise redirected to std\n                   output\n       -g: Gain of PCM data [0...100]\n       -h: Displays this help\n\nUsage: omxaudiomixertest [-o outfile] [-gi gain] -t -r 44100 -n 2 filename1 filename2\n\n       -o outfile: If this option is specified, the output stream is\n                   written to outfile otherwise redirected to std\n                   output; Can't be used with -t.\n       -gi       : Gain of stream i[0..3] data [0...100]\n       -t        : The audio mixer is tunneled with the ALSA sink;\n                   Can't be used with -o\n       -r 44100  : Sample Rate [Default 44100]\n       -n 2      : Number of channel [Default 2]\n       -h        : Displays this help\n\nVIDEO DECODER, COLOR CONVERTER, SINK AND CAPTURE COMPONENT USAGE\n-------------------------------------------------------\n\nUsage: omxvideodectest -o outfile [-t] [-c] [-h] [-f input_fmt] [-s] input_filename\n\n -o outfile: If this option is specified, the output is written to\n             user specified outfile Else, the output is written in the\n             same directory of input file the file name looks like\n             input_filename_app.yuv/rgb depending on input option If\n             the color conv option (-c) is specified then outfile will\n             be .rgb file Else outfile will be in .yuv format N.B.:\n             This option is not needed if you use the sink component\n -c: Color conv option - input file is decoded and color converted in\n     outfile(.rgb file)\n -h: Displays this help\n -f: input format specification in case of color conversion component usage\n     The available input formats are -\n      - OMX_COLOR_Format24bitRGB888  (default format)\n      - OMX_COLOR_Format24bitBGR888\n      - OMX_COLOR_Format32bitBGRA8888\n      - OMX_COLOR_Format32bitARGB8888\n      - OMX_COLOR_Format16bitARGB1555\n      - OMX_COLOR_Format16bitRGB565\n      - OMX_COLOR_Format16bitBGR565\n -s: Uses the video sink component to display the output of the color\n     converter (.rgb file)\n -t: Tunneling option - if this option is selected then by default the\n     color converter and video sink components are selected even if\n     those two options are not specified - the components are tunneled\n     between themselves\ninput_filename : user specified input file name - please specify the\nfull path name\n\n\nUsage: omxvideocapnplay -o outputfile [-t] [-c] [-h] [-f input_fmt] [-s]\n\n       -o outfile: If this option is specified, the output is written\n                   to user specified outfile If the color conv option\n                   (-c) is specified then outfile will be .rgb file\n                   Else outfile will be in .yuv format N.B : This\n                   option is not needed if you use the sink component\n       -c: Color conv option - input file is decoded and color\n           converted in outfile (.rgb file)\n       -h: Displays this help\n       -f: input format specification in case of color conversion component usage\n           The available input formats are -\n              - OMX_COLOR_Format24bitRGB888  (default format)\n              - OMX_COLOR_Format24bitBGR888\n              - OMX_COLOR_Format32bitBGRA8888\n              - OMX_COLOR_Format32bitARGB8888\n              - OMX_COLOR_Format16bitARGB1555\n              - OMX_COLOR_Format16bitRGB565\n              - OMX_COLOR_Format16bitBGR565\n       -W 176: Width of the frame  [default 176]\n       -H 144: Height of the frame [default 144]\n       -s: Uses the video sink component to display the output of the\n        color converter(.rgb file)\n       -t: Tunneling option - if this option is selected then by\n           default the color converter and video sink components are\n           selected even if those two options are not specified - the\n           components are tunneled between themselves\n\nN.B : The input picture resolution can be maximum 640x480 for decoding\nand displaying\n\nUsage: omxparsertest -o outfileVideo.yuv outfileAudio.pcm  [-t]  [-h] [-d] input_filename.3gp\n\n       -o outfileVideo.yuv outfileAudio.pcm: If this option is\n          specified, the output is written to user specified outfiles\n          N.B : This option is not needed if you use the sink\n          component\n       -h: Displays this help\n       -d: Uses the video and ALSA sink component to display the video\n       and play the audio output input_filename is the user specified\n       input file name\n       -t: Tunneling option - if this option is selected then by\n           default the color converter, video sink, volume control and\n           ALSA sink components are selected even if these options are\n           not specified - the components are tunneled between\n           themselves\n\nUsage: omxvideoenctest -o outfile [-W 320] [-H 240] [-t] [-C] [-h] [-f input_fmt] input_filename\n\n       -i infile : Input yuv file name\n\n       -o outfile: If this option is specified, the output is written\n          to user specified outfile.  Else, the output is written in\n          the same directory of input file the file name looks like\n          input_filename_app.m4v depending on input option\n       -h: Displays this help\n       -f: output codec format. The available output formats are -\n           - m4v\n       -W width\n       -H Height\n       -C use camera as input source\n       -r frame per second\n       -t use tunnel between video source and encoder\n\nFRAME BUFFER SUPPORT\n--------------------\n\nThe video sink component, if used by specifying the -s option mentioned\nabove, the uses machine's available framebuffer /dev/fb0.\n\nUsers are requested to check if there is framebuffer support in their\nmachine by command \"fbset -i\".\n\nIf the output looks like - \"open /dev/fb0 - no such file or directory\"\nthen there is no frame buffer support. Go to /etc/grub.conf file\nin your machine, append in the kernel argument the following arguments,\nseparated by spaces: video=vesafb vga=0x305\n\nSave the file, restart the machine, type the \"fbset -i\" command and you\ncan see there is framebuffer support having following configurations:\n\n  framebuffer name : VESA VGA\n  Resolution - 1024x768\n  Pixel Depth - 8\n  rgba - 8/0,8/0,8/0,8/0\n\nThe users having in their machine, framebuffer of different\nconfiguration, are also request to change the configuration as\nmentioned above.\n\nEXAMPLE COMMANDS FOR AUDIO APPLICATION\n--------------------------------------\n\n1. omxaudiodectest reference_stream.mp3\n2. omxaudiodectest -t reference_stream.mp3\n3. omxaudiodectest -m reference_stream.mp3\n4. omxaudiodectest -m -t reference_stream.mp3\n5. omxaudiodectest -m -f reference_stream.mp3\n6. omxaudiodectest -m -f -t reference_stream.mp3\n\n7. omxaudiodectest reference_stream.ogg\n8. omxaudiodectest -s reference_stream.ogg\n9. omxaudiodectest -s -t reference_stream.ogg\n\n10. omxaudiodectest  reference_stream.aac\n11. omxaudiodectest -t reference_stream.aac\n\n12. omxvolcontroltest -o outfile.pcm -g 70 infile.pcm\n\n13. omxaudiomixertest -o outfile.pcm -g0 70 g1 80 -r 44100 -n 2 filename1.pcm filename2.pcm\n14. omxaudiomixertest -t -g0 70 g1 80 -r 44100 -n 2 filename1.pcm filename2.pcm\n\nEXAMPLE COMMANDS FOR VIDEO APPLICATION\n--------------------------------------\n\n1. omxvideodectest -c -s temp_qcif.m4v\n2. omxvideodectest -c -s -f OMX_COLOR_Format16bitRGB565 temp_qcif.m4v\n3. omxvideodectest -o out.rgb -c input_cif.264\n4. omxvideodectest -o out -c -f OMX_COLOR_Format16bitRGB565 temp_qcif.m4v\n5. omxvideodectest -o out.yuv temp_qcif.m4v\n6. omxvideodectest -t input_cif.264\n7. omxvideodectest -t -f OMX_COLOR_Format16bitRGB565 temp_qcif.m4v\n\n8. omxvideoenctest -o outfile.m4v [-W 320] [-H 240] [-t] [-C] [-h] [-f input_fmt] input_filename.yuv\n\n\nEXAMPLE COMMANDS FOR PARSER APPLICATION\n---------------------------------------\n\n1. omxparsertest -o outfileVideo.yuv outfileAudio.pcm  reference_stream.3gp\n2. omxparsertest -d reference_stream.3gp\n3. omxparsertest -t reference_stream.3gp\n\nHOW TO ADD A NEW COMPONENT\n--------------------------\n\n- Add, in the src/components directory, a directory that will contain\n  your component.\n\n- Put your source and header files in there.\n\n- Add a file named library_entry_point.c if you want to develop a\n  component loaded by the default component loader. This file must\n  contains a function named omx_component_library_Setup.  See the\n  other library entry points for reference.\n\n- Edit the configure.in file and add new rules according to your\n  needs.  In particular, you may want to add some library dependencies\n  that are needed by the src/Makefile.am Also, remember to add the\n  path of your Makefile in the AC_OUTPUT directive.\n\n- Edit the src/components/Makefile.am file and add rules for building\n  your component.\n\n- Edit the src/Makefile.am file and add rules for building your\n  component.\n\n- Create a src/components/yourcomponentdirectory/Makefile.am file.\n\n- If you have some test programs, put their sources into the 'test'\n directory.  Edit the test/Makefile.am file to add rules for building\n them.\n\nIn order to add the new directories to the build tree, the autotools\nmust be used (the version supported is automake-1.9).\n\nThe command to be executed with this distribution is: \"autoreconf -i\"\n\n- Check correct building of your tests with:\n make check\n\n- To build RPM:\n\n make dist\n sudo cp libomxil-bellagio-0.3.5.tar.gz /usr/src/redhat/SOURCES/\n sudo rpmbuild -ba libomxil-bellagio.spec\n\nThis version has been tested on:\n\n- FC6 2.6.20-1.2933.fc6 (with FFmpeg 0.4.9-0.37.20070503, libmad\n  0.15.1b, libvorbis 1.1.2-1)\n- UBUNTU 2.6.17-11-generic\n\nTo Develop FFMpeg based AMR-NB/WB Component we used a tar ball from(This is may be replaced with a stable ffmpeg release in future). Using AMR will make FFMpeg non-free and unredistributable.\n\nAMR NB/WB(libamrnb,libamrwb) - http://rpmfind.net/linux/rpm2html/search.php?query=amr\n\nFFmpeg (libavcodec,libavformat,libavutils,libswscale etc)   - http://www.filewatcher.com/m/ffmpeg-0.4.9-p20080326.tar.bz2.2505113.0.0.html\n\nFFmpegConfigure Option Used:- \n./configure --arch=x86_32 --extra-cflags=\"-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables\" --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaad --enable-libfaac --enable-libgsm --enable-libxvid --enable-libx264 --enable-liba52 --enable-liba52bin --disable-static --enable-shared --enable-gpl --disable-debug --disable-optimizations --disable-stripping  --enable-libamr-nb --enable-nonfree --enable-libamr-wb\n\n\n\nLast modified: Nov 24, 2008.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipec%2Flibomxil-bellagio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelipec%2Flibomxil-bellagio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipec%2Flibomxil-bellagio/lists"}