This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

how to configure and build media-ctl

After contacting Aptina tech support, I learned that I need media-ctl to configure the image pipeline.  OK, I got the latest media-ctl tarfile, now I would like to cross compile media-ctl,  but it must first be configured using autoreconf.  autoreconf fails, first because libtool is not installed. After installing libtool, autoreconf fails:

autoreconf --install
libtoolize: `/usr/local/ti-sdk-beagleboard/linux-devkit/share/libtool/config/config.guess' does not exist.
autoreconf: libtoolize failed with exit status: 1

Does anyone know any remedies for the above?  Thanks in advance.  Please see host/target version details below. Target is bbxm revision C.

 

Cross compiler Host OS information: Ubuntu 10.04 LTS with DVSDK 4.0.0.1

adrake@ubuntu:~/media-ctl$ uname -a
Linux ubuntu 2.6.32-36-generic #79-Ubuntu SMP Tue Nov 8 22:29:26 UTC 2011 i686 GNU/Linux

 

OMAP Linux information:

root@beagleboard:~# uname -a
Linux beagleboard 2.6.39 #6 Thu Dec 29 13:22:51 PST 2011 armv7l unknown

 

kernel source directory from DVSDK 4.0.0.1:

/usr/local/ti-sdk-beagleboard/psp/linux-2.6.39-r102h-arago1

 

 

  • OK, the answer is it was necessary to copy config files, including config.guess from one directory to another as follows:

    cp /usr/local/ti-sdk-beagleboard/linux-devkit/arm-arago-linux-gnueabi/usr/share/libtool/config/* /usr/local/ti-sdk-beagleboard/linux-devkit/share/libtool/config

    This solved the failure of autoreconf to generate the configure script.  The next problem that had to be solved was when the configure script failed in validating media.h.  This required running the make install of the kernel headers as documented in the file headers_install.txt as follows:

    cd /usr/local/ti-sdk-beagleboard/psp/linux-2.6.39-r102h-arago1

    sudo make headers_install ARCH=arm INSTALL_HDR_PATH=/usr/arm

    This step installed kernel headers in /usr/arm/include, which is passed to configure as in:

    ./configure --with-kernel-headers=/usr/arm --build=arm --host=i486 --prefix=/home/adrake/mctl

     

    The following steps are credited to Aptina Imaging:

    Compiling media-ctl application

     

    Prerequisites--

    We need to have autoconf and libtool to compile media-ctl application.

    $ sudo apt-get install autoconf libtool

    $ cd <Absolute Path to your media-ctl directory>

     

    For the below two steps, you can use whatever tool chain you need

    $ export CC=<Absolute Path>/arm-2009q1/bin/arm-none-linux-gnueabi-gcc

    $ export CPP=<Absolute Path>/arm-2009q1/bin/arm-none-linux-gnueabi-cpp

     

    $ autoreconf --install

    $ ./configure --with-kernel-headers=<kernel headers path> --build=arm --host=<your host type> --prefix=<installation drirectory>

     

    kernel headers path  is where we installed kernel headers during kernel compilation.

    And to know the hosttype please give "echo $HOSTTYPE" command .

     

    $ make

    $ make install

    copy installation directory to device

    And run media-ctl application accordingly.

     

  • Running Media-ctl and yavta:

    Is not quite as simple as it may seem. The pipeline has to be configured properly.  In my case, media ctl is used as in:

    ./media-ctl -v -r -l '"mt9p031 2-0048":0->"OMAP3 ISP CCDC":0[1], "OMAP3 ISP CCDC":2->"OMAP3 ISP preview":0[1], "OMAP3 ISP preview":1->"OMAP3 ISP resizer":0[1], "OMAP3 ISP resizer":1->"OMAP3 ISP resizer output":0[1]'

    ./media-ctl -v -f '"mt9p031 2-0048":0[SGRBG12 720x480], "OMAP3 ISP CCDC":2[SGRBG8 720x480], "OMAP3 ISP preview":1[UYVY 720x480], "OMAP3 ISP resizer":1[UYVY 720x480]'

    The version of yavta I run may be configured to write frame data to stdout, which may be piped to nc, to provide network connection to mplayer running on x86 linux host, for playback:

    ./yavta  -f UYVY -s 720x480 --capture=1000 --stdout /dev/video6 | nc xx.xx.xx.xx 3000 

    where xx.xx.xx.xx is ipaddr of x86 host, 3000 is port number.  /dev/video6 is OMAP3 ISP resizer output

    on x86 host, to watch the video enter:

    nc -l 3000 | sudo mplayer - -demuxer rawvideo -rawvideo w=720:h=480:format=uyvy:size=691200 -vo x11

    then run yavta line above.

    So the above is how to capture video with beagleboard xm ( bbxm) and LI-5M03