Recherche avancée

Médias (1)

Mot : - Tags -/epub

Autres articles (30)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

  • Selection of projects using MediaSPIP

    2 mai 2011, par

    The examples below are representative elements of MediaSPIP specific uses for specific projects.
    MediaSPIP farm @ Infini
    The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)

Sur d’autres sites (5909)

  • avcodec_find_encoder(AV_CODEC_ID_H264) returns null

    28 février 2017, par Monjura Rumi

    I am building an android application which will encode image captured from camera preview and later decode it. I am using ffmpeg library to encode and decode. To build static library with x264 I have used this tutorial. http://dl.dropbox.com/u/22605641/ffmpeg_android/main.html. As a source code of ffmpeg if I use the one downloaded from the link given in tutorial I can built it but can’t build library if i use source code downloaded from here git clone git ://source.ffmpeg.org/ffmpeg.git ffmpeg. I have built library in ubuntu and using it in windows 7 in Eclipse. As I need only h264 encoder and decoder I have used following code for ffmpeg, slightly modified from tutorial.

    #!/bin/bash

    NDK=~/Documents/android-ndk-r8e
    PLATFORM=$NDK/platforms/android-8/arch-arm
    PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86
    PREFIX=/home/android-ffmpeg

    function build_one
    {
       ./configure --target-os=linux --prefix=$PREFIX \
       --enable-cross-compile \
       --enable-runtime-cpudetect \
       --disable-asm \
       --arch=arm \
       --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
       --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
       --disable-stripping \
       --nm=$PREBUILT/bin/arm-linux-androideabi-nm \
       --sysroot=$PLATFORM \
       --enable-nonfree \
       --enable-version3 \
       --disable-everything \
       --enable-gpl \
       --disable-doc \
       --enable-avresample \
       --disable-ffplay \
       --disable-ffserver \
       --enable-ffmpeg \
       --disable-ffprobe \
       --enable-avcodec \
       --enable-libx264 \
       --enable-encoder=libx264 \
       --enable-encoder=libx264rgb \
       --enable-decoder=h263 \
       --enable-decoder=h264 \
       --enable-decoder=svq3 \  
       --enable-zlib \
       --enable-gpl \
       --enable-pic \
       --disable-devices \
       --disable-avdevice \
       --extra-cflags="-I/home/android-ffmpeg/include -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=armv7-a" \
       --extra-ldflags="-L/home/android-ffmpeg/lib"
    make -j4 install
    $PREBUILT/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o
    $PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -L$PREFIX/lib  -soname libffmpeg.so -shared -nostdlib  -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavfilter/libavfilter.a libavresample/libavresample.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog -lx264 --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a
    }

    build_one

    After building library I have been able to build android ndk. A little part of my JNI code is here.

    JNIEXPORT jint JNICALL Java_com_example_testjava_TestjniActivity_initencoder(JNIEnv* env,jobject obj){

       av_register_all();
       avcodec_register_all();
       codec = avcodec_find_encoder(AV_CODEC_ID_H264);
       if (!codec) {
         __android_log_write(ANDROID_LOG_INFO, "debug", "not found");                
          return -1;
       }
    .
    .
    .
    }

    When I run my java source code that calls initencoder() I get -1 as return value and logcat prints "not found". That means avcodec_find_encoder() returns null and if condition is being ok. I don’t know what’s wrong. Why this function is returning null ? I have searched a lot but did not find any solution that could guide me to right direction. some says to use avcodec_init(). But ndk-build command fails and shows error saying undefined reference to ’avcodec_init()’. I have started with library build because I thought may be I am doing wrong from the first stage. Did I make any mistake in library building like not enabling things that I should ? Please help me here. This is kind of urgent for me.

  • Android gcc 4.6 crash on __check_for_sync8_kernelhelper - ARM - FFmpeg

    3 août 2013, par user2646692

    I'm compiling ffmpeg with gcc 4.6 (as this is default on ndk r9) for armv7-a devices and a weird crash occurs on certain devices that didn't happen when running code compiled with gcc 4.4.3.

    this is the backtrace :

    08-02 18:36:08.200: I/sec_anm_ahi_output(1535): setParameters(stop_output_streamtype=1)
    08-02 18:36:08.360: I/DEBUG(18804):          #00  pc 000162a0  /system/lib/libc.so (__libc_android_abort)
    08-02 18:36:08.360: I/DEBUG(18804):          #01  pc 00418334  /data/data/com.ffmpeg.android/lib/libffmpeg.so (__check_for_sync8_kernelhelper)
    08-02 18:36:08.360: I/DEBUG(18804): libc base address: afd00000

    After searching on google, it seems the problem is in 64-bit atomic as it seems my compiled code it's not using dmb instructions instead it's calling kernelhelper :

    https://code.google.com/p/android/issues/detail?id=41297

    http://www.ogre3d.org/forums/viewtopic.php?f=21&t=78199

    The workaround it's to compile for armv7-a, but I'm already doing this with the same results. These are the flags I'm using :

    CPU=armv7-a
    OPTIMIZE_CFLAGS="-march=$CPU -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb -D__thumb__"
    EXTRA_LDFLAGS="-Wl,--fix-cortex-a8 -march=armv7-a"
    PREFIX=./android/$CPU
    EXTRA_CONFIGURE=""

    I have also tried with these, but with same results :

    CPU=armv7-a
    OPTIMIZE_CFLAGS="-march=$CPU -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb -D__thumb__"
    EXTRA_LDFLAGS="-Wl,--fix-cortex-a8 -march=armv7-a"
    PREFIX=./android/$CPU
    EXTRA_CONFIGURE="--disable-armv5te --disable-armv6 --disable-armv6t2"

    I have tested on different devices and these are the results :

    Nexus 4 - No Crash

    Nexus 7 - No crash

    Galaxy sII - Crash

    Galaxy Ace 2 - Crash

    I would appreciate any help.

    Thanks.

  • avcodec_find_encoder(AV_CODEC_ID_H264) returns null

    28 février 2017, par Monjura Rumi

    I am building an android application which will encode image captured from camera preview and later decode it. I am using ffmpeg library to encode and decode. To build static library with x264 I have used this tutorial. http://dl.dropbox.com/u/22605641/ffmpeg_android/main.html. As a source code of ffmpeg if I use the one downloaded from the link given in tutorial I can built it but can’t build library if i use source code downloaded from here git clone git ://source.ffmpeg.org/ffmpeg.git ffmpeg. I have built library in ubuntu and using it in windows 7 in Eclipse. As I need only h264 encoder and decoder I have used following code for ffmpeg, slightly modified from tutorial.

    #!/bin/bash

    NDK=~/Documents/android-ndk-r8e
    PLATFORM=$NDK/platforms/android-8/arch-arm
    PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86
    PREFIX=/home/android-ffmpeg

    function build_one
    {
       ./configure --target-os=linux --prefix=$PREFIX \
       --enable-cross-compile \
       --enable-runtime-cpudetect \
       --disable-asm \
       --arch=arm \
       --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
       --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
       --disable-stripping \
       --nm=$PREBUILT/bin/arm-linux-androideabi-nm \
       --sysroot=$PLATFORM \
       --enable-nonfree \
       --enable-version3 \
       --disable-everything \
       --enable-gpl \
       --disable-doc \
       --enable-avresample \
       --disable-ffplay \
       --disable-ffserver \
       --enable-ffmpeg \
       --disable-ffprobe \
       --enable-avcodec \
       --enable-libx264 \
       --enable-encoder=libx264 \
       --enable-encoder=libx264rgb \
       --enable-decoder=h263 \
       --enable-decoder=h264 \
       --enable-decoder=svq3 \  
       --enable-zlib \
       --enable-gpl \
       --enable-pic \
       --disable-devices \
       --disable-avdevice \
       --extra-cflags="-I/home/android-ffmpeg/include -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=armv7-a" \
       --extra-ldflags="-L/home/android-ffmpeg/lib"
    make -j4 install
    $PREBUILT/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o
    $PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -L$PREFIX/lib  -soname libffmpeg.so -shared -nostdlib  -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavfilter/libavfilter.a libavresample/libavresample.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog -lx264 --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a
    }

    build_one

    After building library I have been able to build android ndk. A little part of my JNI code is here.

    JNIEXPORT jint JNICALL Java_com_example_testjava_TestjniActivity_initencoder(JNIEnv* env,jobject obj){

       av_register_all();
       avcodec_register_all();
       codec = avcodec_find_encoder(AV_CODEC_ID_H264);
       if (!codec) {
         __android_log_write(ANDROID_LOG_INFO, "debug", "not found");                
          return -1;
       }
    .
    .
    .
    }

    When I run my java source code that calls initencoder() I get -1 as return value and logcat prints "not found". That means avcodec_find_encoder() returns null and if condition is being ok. I don’t know what’s wrong. Why this function is returning null ? I have searched a lot but did not find any solution that could guide me to right direction. some says to use avcodec_init(). But ndk-build command fails and shows error saying undefined reference to ’avcodec_init()’. I have started with library build because I thought may be I am doing wrong from the first stage. Did I make any mistake in library building like not enabling things that I should ? Please help me here. This is kind of urgent for me.