Recherche avancée

Médias (2)

Mot : - Tags -/kml

Autres articles (43)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Encodage et transformation en formats lisibles sur Internet

    10 avril 2011

    MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
    Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
    Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...)

  • 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 (4790)

  • ffmpeg libx264 neon optimization breaks execution

    27 janvier 2014, par nmxprime

    Hi use libx264 source obtained from x264-snapshot-20140122-2245 and compiling using below script

    NDK=~/Android/android-ndk-r7c
    PLATFORM=$NDK/platforms/android-9/arch-arm/
    PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86
    function build_one
    {
    ./configure --prefix=$PREFIX \
    --sysroot=$PLATFORM \
    --disable-avs \
    --disable-lavf \
    --disable-ffms \
    --disable-gpac \
    --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
    --host=arm-linux \
    --enable-static \
    --libdir=$PLATFORM/usr/lib \
    --includedir=$PLATFORM/usr/include \
    --extra-cflags="-march=armv7-a -mfloat-abi=softfp -mfpu=neon -mvectorize-with-neon-quad" \
    --extra-ldflags="-Wl,--fix-cortex-a8" \
    --enable-debug

    The config log is :

    platform:      ARM
    system:        LINUX
    cli:           yes
    libx264:       internal
    shared:        no
    static:        yes
    asm:           yes
    interlaced:    yes
    avs:           no
    lavf:          no
    ffms:          no
    mp4:           no
    gpl:           yes
    thread:        no
    opencl:        yes
    filters:       crop select_every
    debug:         yes
    gprof:         no
    strip:         no
    PIC:           no
    bit depth:     8
    chroma format: all

    You can run 'make' or 'make fprofiled' now.

    I hope the above code compiles and optimizes for NEON execution

    Doubts :

    Why Threads is no, because i didn't specified --disable-thread

    What is cli and it's significance here, also significance of opencl, such that libx264 uses opencl features ?


    Then i built ffmpeg 1.2.5with following script

    ./configure --target-os=linux \
    --prefix=$PREFIX \
    --enable-cross-compile \
    --extra-libs="-lgcc" \
    --arch=arm \
    --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
    --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
    --nm=$PREBUILT/bin/arm-linux-androideabi-nm \
    --sysroot=$PLATFORM \
    --extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS " \
    --disable-shared \
    --enable-static \
    --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog -lx264 $EXTRA_LD_FLAG" \
    --disable-ffplay \
    --disable-everything \
    --enable-avformat \
    --enable-avcodec \
    --enable-libx264 \
    --enable-gpl \
    --enable-encoder=libx264 \
    --enable-encoder=libx264rgb \
    --enable-decoder=h264 \
    --disable-network \
    --disable-avfilter \
    --disable-avdevice \
    --enable-debug=3 \
    $ADDITIONAL_CONFIGURE_FLAG

    where

    ADDITIONAL_CONFIGURE_FLAG = --enable-debug=3
    OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=neon -marm -march=$CPU -mvectorize-with-neon-quad"

    The log shows NEON supported.

    When i run the code (called in a while loop),

    ret = avcodec_encode_video2(c, &pkt, picture, &got_output);//avcodec_encode_video(c, finalout, outbuf_size, picture);

    fprintf(stderr,"ret = %d, got-out = %d \n",ret,got_output);
    if (ret < 0)
           fprintf(stderr, "error encoding frame\n");

       if (got_output)
           fprintf(stderr,"encoding frame %3d (size=%5d): (ret=%d)\n", 1, pkt.size,ret);

    it runs for 2 or 3 time(during which if(got_output) is not true), then i get SIGSEGV. Tried addr2line and ndk-stack but no use[Though i enabled debug info, ndk-stack cannot find routine info].

    I edited libx264's encoder.c code with some fprintf statements.
    Posting snippet of code

      if( h->frames.i_input <= h->frames.i_delay + 1 - h->i_thread_frames )
       {
           /* Nothing yet to encode, waiting for filling of buffers */
           pic_out->i_type = X264_TYPE_AUTO;
    fprintf(stderr,"EditLog:: Returns as waiting for filling \n"); //edit
           return 0;
       }
    }

    else
    {
       /* signal kills for lookahead thread */
       x264_pthread_mutex_lock( &h->lookahead->ifbuf.mutex );
       h->lookahead->b_exit_thread = 1;
       x264_pthread_cond_broadcast( &h->lookahead->ifbuf.cv_fill );
       x264_pthread_mutex_unlock( &h->lookahead->ifbuf.mutex );
    }
    fprintf(stderr,"After wait for fill \n");
    fprintf(stderr,"h: %p \n",h); //edit
    fprintf(stderr,"h->i_frame = %p \n",&h->i_frame); //edit
    h->i_frame++;
    fprintf(stderr,"after i_frame++");

    in log, i don't see after i_frame++, here occurs (may be) the SIGSEGV.

    Please help in solving it. The same works without neon optimization !!

  • configure : add support for new CPUs

    28 avril 2014, par James Almer
    configure : add support for new CPUs
    

    Add new -march values for Intel CPUs (introduced with GCC 4.9.x), add support
    for the missing AMD btver* CPUs, and improve SunCC flags accordingly.

    Signed-off-by : James Almer <jamrial@gmail.com>
    Signed-off-by : Michael Niedermayer <michaelni@gmx.at>

    • [DH] configure
  • ffmpeg libx264 neon optimization breaks execution

    27 janvier 2014, par nmxprime

    Hi use libx264 source obtained from x264-snapshot-20140122-2245 and compiling using below script

    NDK=~/Android/android-ndk-r7c
    PLATFORM=$NDK/platforms/android-9/arch-arm/
    PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86
    function build_one
    {
    ./configure --prefix=$PREFIX \
    --sysroot=$PLATFORM \
    --disable-avs \
    --disable-lavf \
    --disable-ffms \
    --disable-gpac \
    --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
    --host=arm-linux \
    --enable-static \
    --libdir=$PLATFORM/usr/lib \
    --includedir=$PLATFORM/usr/include \
    --extra-cflags="-march=armv7-a -mfloat-abi=softfp -mfpu=neon -mvectorize-with-neon-quad" \
    --extra-ldflags="-Wl,--fix-cortex-a8" \
    --enable-debug

    The config log is :

    platform:      ARM
    system:        LINUX
    cli:           yes
    libx264:       internal
    shared:        no
    static:        yes
    asm:           yes
    interlaced:    yes
    avs:           no
    lavf:          no
    ffms:          no
    mp4:           no
    gpl:           yes
    thread:        no
    opencl:        yes
    filters:       crop select_every
    debug:         yes
    gprof:         no
    strip:         no
    PIC:           no
    bit depth:     8
    chroma format: all

    You can run &#39;make&#39; or &#39;make fprofiled&#39; now.

    I hope the above code compiles and optimizes for NEON execution

    Doubts :

    Why Threads is no, because i didn't specified --disable-thread

    What is cli and it's significance here, also significance of opencl, such that libx264 uses opencl features ?


    Then i built ffmpeg 1.2.5with following script

    ./configure --target-os=linux \
    --prefix=$PREFIX \
    --enable-cross-compile \
    --extra-libs="-lgcc" \
    --arch=arm \
    --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
    --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
    --nm=$PREBUILT/bin/arm-linux-androideabi-nm \
    --sysroot=$PLATFORM \
    --extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS " \
    --disable-shared \
    --enable-static \
    --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog -lx264 $EXTRA_LD_FLAG" \
    --disable-ffplay \
    --disable-everything \
    --enable-avformat \
    --enable-avcodec \
    --enable-libx264 \
    --enable-gpl \
    --enable-encoder=libx264 \
    --enable-encoder=libx264rgb \
    --enable-decoder=h264 \
    --disable-network \
    --disable-avfilter \
    --disable-avdevice \
    --enable-debug=3 \
    $ADDITIONAL_CONFIGURE_FLAG

    where

    ADDITIONAL_CONFIGURE_FLAG = --enable-debug=3
    OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=neon -marm -march=$CPU -mvectorize-with-neon-quad"

    The log shows NEON supported.

    When i run the code (called in a while loop),

    ret = avcodec_encode_video2(c, &amp;pkt, picture, &amp;got_output);//avcodec_encode_video(c, finalout, outbuf_size, picture);

    fprintf(stderr,"ret = %d, got-out = %d \n",ret,got_output);
    if (ret &lt; 0)
           fprintf(stderr, "error encoding frame\n");

       if (got_output)
           fprintf(stderr,"encoding frame %3d (size=%5d): (ret=%d)\n", 1, pkt.size,ret);

    it runs for 2 or 3 time(during which if(got_output) is not true), then i get SIGSEGV. Tried addr2line and ndk-stack but no use[Though i enabled debug info, ndk-stack cannot find routine info].

    I edited libx264&#39;s encoder.c code with some fprintf statements.
    Posting snippet of code

      if( h->frames.i_input &lt;= h->frames.i_delay + 1 - h->i_thread_frames )
       {
           /* Nothing yet to encode, waiting for filling of buffers */
           pic_out->i_type = X264_TYPE_AUTO;
    fprintf(stderr,"EditLog:: Returns as waiting for filling \n"); //edit
           return 0;
       }
    }

    else
    {
       /* signal kills for lookahead thread */
       x264_pthread_mutex_lock( &amp;h->lookahead->ifbuf.mutex );
       h->lookahead->b_exit_thread = 1;
       x264_pthread_cond_broadcast( &amp;h->lookahead->ifbuf.cv_fill );
       x264_pthread_mutex_unlock( &amp;h->lookahead->ifbuf.mutex );
    }
    fprintf(stderr,"After wait for fill \n");
    fprintf(stderr,"h: %p \n",h); //edit
    fprintf(stderr,"h->i_frame = %p \n",&amp;h->i_frame); //edit
    h->i_frame++;
    fprintf(stderr,"after i_frame++");

    in log, i don't see after i_frame++, here occurs (may be) the SIGSEGV.

    Please help in solving it. The same works without neon optimization !!