
Recherche avancée
Autres articles (37)
-
Publier sur MédiaSpip
13 juin 2013Puis-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 -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...) -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...)
Sur d’autres sites (5602)
-
Including objects to a shared library from a C++ archive (.a)
1er septembre 2021, par El SampsaI am trying to include some object files into a shared library I am building. Take the following command (things in [ETC] have been omitted for brevity) :





/usr/bin/c++ -fPIC -std=c++14 -pthread -Iinclude/ext/liveMedia -Iinclude/ext/groupsock [ETC] -g -shared -Wl,-soname,libValkka.so -o lib/libValkka.so CMakeFiles/Valkka.dir/src/avthread.cpp.o CMakeFiles/Valkka.dir/src/opengl.cpp.o [ETC] CMakeFiles/Valkka.dir/src/decoders.cpp.o -lX11 -lGLEW -lGLU -lGL -Wl,—whole-archive lib/libavcodec.a -Wl,—no-whole-archive





So basically I am just creating a shared library where most of the objects come from my own source code (i.e. CMakeFiles/Valkka.dir/src/*.o), but some of them come from an external static library, located at "lib/libavcodec.a". I get the following error :





/usr/bin/ld : lib/libavcodec.a(h264_cabac.o) : relocation R_X86_64_PC32 against symbol 'ff_h264_cabac_tables' can not be used when making a shared object ; recompile with -fPIC
 /usr/bin/ld : final link failed : Bad value
 collect2 : error : ld returned 1 exit status





But that is so untrue ! I can extract "libavcodec.a" with



ar x libavcodec.a




And after that check that



readelf --relocs h264_cabac.o | egrep '(GOT|PLT|JU?MP_SLOT)' 




does give some **it :





00000000175d 003100000004 R_X86_64_PLT32 0000000000000000 __stack_chk_fail - 4
 000000001926 003100000004 R_X86_64_PLT32 0000000000000000 __stack_chk_fail - 4

 

...





As does



objdump -r h264_cabac.o | grep -i "relocation"




So, indeed, the object files in "libavcodec.a" have been compiled to get PIC (position independent code).



Why does the linker believe otherwise !?



Related links :



How to include all objects of an archive in a shared object ?



Linking archives (.a) into shared object (.so)



Is there a way to determine that a .a or .so library has been compiled as position indepenent code ?



How can I tell, with something like objdump, if an object file has been built with -fPIC ?


-
Anomalie #3748 (Fermé) : La fonction recuperer_lapage est obsolète ; à remplacer par recuperer_url
10 mars 2016Après la release de 3.1.1, en local et chez OVH, la détection de version de SPIP affichée en pied du backoffice ne fonctionnait plus.
Je n’avais pas l’annonce "La mise à jour 3.1.1 de SPIP est disponible" même après lancement du genie mise_a_jour.En local mon /tmp/cache/xml/archives.xml restait vide
Apparement le problème vient de :
genie/mise_a_jour.php
$res = recuperer_lapage($url, false, ’GET’, _COPIE_LOCALE_MAX_SIZE, ’’, false, $a) ;
qui ne renvoie rien
en remplacant par la fonction non obsolète
$res = recuperer_url($url) ;
on récupère bien l’archive et résout le bug -
vdpau : add helper for surface chroma type and size
19 décembre 2014, par Rémi Denis-Courmontvdpau : add helper for surface chroma type and size
Since the VDPAU pixel format does not distinguish between different
VDPAU video surface chroma types, we need another way to pass this
data to the application.Originally VDPAU in libavcodec only supported decoding to 8-bits YUV
with 4:2:0 chroma sampling. Correspondingly, applications assumed that
libavcodec expected VDP_CHROMA_TYPE_420 video surfaces for output.
However some of the new HEVC profiles proposed for addition to VDPAU
would require different depth and/or sampling :
http://lists.freedesktop.org/archives/vdpau/2014-July/000167.html
...as would lossless AVC profiles :
http://lists.freedesktop.org/archives/vdpau/2014-November/000241.htmlTo preserve backward binary compatibility with existing applications,
a new av_vdpau_bind_context() flag is introduced in a further change.Signed-off-by : Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by : Anton Khirnov <anton@khirnov.net>