
Recherche avancée
Autres articles (86)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Menus personnalisés
14 novembre 2010, parMediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
Menus créés à l’initialisation du site
Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...) -
Configuration spécifique pour PHP5
4 février 2011, parPHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
Modules spécifiques
Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...)
Sur d’autres sites (7748)
-
swscale/graph : fix memleak of cascaded graphs
2 décembre 2024, par Niklas Haas -
FFMpeg fails to compile
28 juin 2024, par Nicolas AppriouI'm trying to compile a project that needs a specific version of ffmpeg to work.


I isolated ffmpeg build and tried to compile it on its own as done in the parent project.
It seems to be version 6.1.1, the build system downloads ffmpeg from this url https://github.com/FFmpeg/FFmpeg/archive/e38092ef9395d7049f871ef4d5411eb410e283e0.zip before building it.
I'm using an up-to-date debian testing distribution.


When trying to build it on my own, I got this error message :


$ ./configure --enable-shared --disable-static --disable-programs --disable-doc
$ make
CC libavcodec/vulkan_av1.o
In file included from libavcodec/vulkan_av1.c:21:
libavcodec/vulkan_decode.h:31:5: error: unknown type name ‘VkVideoDecodeAV1ProfileInfoMESA’
 31 | VkVideoDecodeAV1ProfileInfoMESA av1_profile;
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:38:5: error: unknown type name ‘StdVideoAV1MESATile’
 38 | StdVideoAV1MESATile tiles[MAX_TILES];
 | ^~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:39:5: error: unknown type name ‘StdVideoAV1MESATileList’
 39 | StdVideoAV1MESATileList tile_list;
 | ^~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:43:5: error: unknown type name ‘VkVideoDecodeAV1DpbSlotInfoMESA’
 43 | VkVideoDecodeAV1DpbSlotInfoMESA vkav1_ref;
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:44:5: error: unknown type name ‘StdVideoAV1MESAFrameHeader’
 44 | StdVideoAV1MESAFrameHeader av1_frame_header;
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:45:5: error: unknown type name ‘VkVideoDecodeAV1PictureInfoMESA’
 45 | VkVideoDecodeAV1PictureInfoMESA av1_pic_info;
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:49:5: error: unknown type name ‘VkVideoDecodeAV1DpbSlotInfoMESA’
 49 | VkVideoDecodeAV1DpbSlotInfoMESA vkav1_refs[AV1_NUM_REF_FRAMES];
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:58:29: error: unknown type name ‘VkVideoDecodeAV1DpbSlotInfoMESA’; did you mean ‘VkVideoDecodeAV1DpbSlotInfoKHR’?
 58 | VkVideoDecodeAV1DpbSlotInfoMESA *vkav1_ref, /* Goes in ^ */
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | VkVideoDecodeAV1DpbSlotInfoKHR
libavcodec/vulkan_av1.c: In function ‘vk_av1_create_params’:
libavcodec/vulkan_av1.c:113:5: error: unknown type name ‘StdVideoAV1MESASequenceHeader’; did you mean ‘StdVideoAV1SequenceHeader’?
 113 | StdVideoAV1MESASequenceHeader av1_sequence_header;
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | StdVideoAV1SequenceHeader
libavcodec/vulkan_av1.c:114:5: error: unknown type name ‘VkVideoDecodeAV1SessionParametersAddInfoMESA’; did you mean ‘VkVideoDecodeH265SessionParametersAddInfoKHR’?
 114 | VkVideoDecodeAV1SessionParametersAddInfoMESA av1_params_info;
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | VkVideoDecodeH265SessionParametersAddInfoKHR
libavcodec/vulkan_av1.c:115:5: error: unknown type name ‘VkVideoDecodeAV1SessionParametersCreateInfoMESA’; did you mean ‘VkVideoDecodeAV1SessionParametersCreateInfoKHR’?
 115 | VkVideoDecodeAV1SessionParametersCreateInfoMESA av1_params;
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | VkVideoDecodeAV1SessionParametersCreateInfoKHR
libavcodec/vulkan_av1.c:120:28: error: ‘StdVideoAV1MESASequenceHeader’ undeclared (first use in this function); did you mean ‘StdVideoAV1SequenceHeader’?
 120 | av1_sequence_header = (StdVideoAV1MESASequenceHeader) {
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | StdVideoAV1SequenceHeader
libavcodec/vulkan_av1.c:120:28: note: each undeclared identifier is reported only once for each function it appears in
libavcodec/vulkan_av1.c:120:58: error: expected ‘;’ before ‘{’ token
 120 | av1_sequence_header = (StdVideoAV1MESASequenceHeader) {
 | ^~
 | ;
libavcodec/vulkan_av1.c:171:24: error: ‘VkVideoDecodeAV1SessionParametersAddInfoMESA’ undeclared (first use in this function); did you mean ‘VkVideoDecodeH265SessionParametersAddInfoKHR’?
 171 | av1_params_info = (VkVideoDecodeAV1SessionParametersAddInfoMESA) {
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | VkVideoDecodeH265SessionParametersAddInfoKHR
libavcodec/vulkan_av1.c:171:69: error: expected ‘;’ before ‘{’ token
 171 | av1_params_info = (VkVideoDecodeAV1SessionParametersAddInfoMESA) {
 | ^~
 | ;
libavcodec/vulkan_av1.c:175:19: error: ‘VkVideoDecodeAV1SessionParametersCreateInfoMESA’ undeclared (first use in this function); did you mean ‘VkVideoDecodeAV1SessionParametersCreateInfoKHR’?
 175 | av1_params = (VkVideoDecodeAV1SessionParametersCreateInfoMESA) {
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | VkVideoDecodeAV1SessionParametersCreateInfoKHR
libavcodec/vulkan_av1.c:175:67: error: expected ‘;’ before ‘{’ token
 175 | av1_params = (VkVideoDecodeAV1SessionParametersCreateInfoMESA) {
 | ^~
 | ;
libavcodec/vulkan_av1.c:114:50: warning: variable ‘av1_params_info’ set but not used [-Wunused-but-set-variable]
 114 | VkVideoDecodeAV1SessionParametersAddInfoMESA av1_params_info;
 | ^~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:113:35: warning: variable ‘av1_sequence_header’ set but not used [-Wunused-but-set-variable]
 113 | StdVideoAV1MESASequenceHeader av1_sequence_header;
 | ^~~~~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:111:33: warning: unused variable ‘seq’ [-Wunused-variable]
 111 | const AV1RawSequenceHeader *seq = s->raw_seq;
 | ^~~
libavcodec/vulkan_av1.c: In function ‘vk_av1_start_frame’:
libavcodec/vulkan_av1.c:237:15: error: implicit declaration of function ‘vk_av1_fill_pict’ [-Werror=implicit-function-declaration]
 237 | err = vk_av1_fill_pict(avctx, &ap->ref_src[i], &vp->ref_slots[i],
 | ^~~~~~~~~~~~~~~~
libavcodec/vulkan_av1.c:252:18: error: request for member ‘nb_tiles’ in something not a structure or union
 252 | ap->tile_list.nb_tiles = 0;
 | ^
libavcodec/vulkan_av1.c:253:18: error: request for member ‘tile_list’ in something not a structure or union
 253 | ap->tile_list.tile_list = ap->tiles;
 | ^
libavcodec/vulkan_av1.c:255:25: error: ‘VkVideoDecodeAV1PictureInfoMESA’ undeclared (first use in this function); did you mean ‘VkVideoDecodeAV1PictureInfoKHR’?
 255 | ap->av1_pic_info = (VkVideoDecodeAV1PictureInfoMESA) {
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | VkVideoDecodeAV1PictureInfoKHR
libavcodec/vulkan_av1.c:255:57: error: expected ‘;’ before ‘{’ token
 255 | ap->av1_pic_info = (VkVideoDecodeAV1PictureInfoMESA) {
 | ^~
 | ;
libavcodec/vulkan_av1.c:278:29: error: ‘StdVideoAV1MESAFrameHeader’ undeclared (first use in this function); did you mean ‘StdVideoAV1SequenceHeader’?
 278 | ap->av1_frame_header = (StdVideoAV1MESAFrameHeader) {
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~
 | StdVideoAV1SequenceHeader
libavcodec/vulkan_av1.c:278:56: error: expected ‘;’ before ‘{’ token
 278 | ap->av1_frame_header = (StdVideoAV1MESAFrameHeader) {
 | ^~
 | ;
libavcodec/vulkan_av1.c:402:29: error: request for member ‘tiling’ in something not a structure or union
 402 | ap->av1_frame_header.tiling.width_in_sbs_minus_1[i] = frame_header->width_in_sbs_minus_1[i];
 | ^
libavcodec/vulkan_av1.c:403:29: error: request for member ‘tiling’ in something not a structure or union
 403 | ap->av1_frame_header.tiling.height_in_sbs_minus_1[i] = frame_header->height_in_sbs_minus_1[i];
 | ^
libavcodec/vulkan_av1.c:404:29: error: request for member ‘tiling’ in something not a structure or union
 404 | ap->av1_frame_header.tiling.tile_start_col_sb[i] = frame_header->tile_start_col_sb[i];
 | ^
libavcodec/vulkan_av1.c:405:29: error: request for member ‘tiling’ in something not a structure or union
 405 | ap->av1_frame_header.tiling.tile_start_row_sb[i] = frame_header->tile_start_row_sb[i];
 | ^
libavcodec/vulkan_av1.c:409:29: error: request for member ‘segmentation’ in something not a structure or union
 409 | ap->av1_frame_header.segmentation.feature_enabled_bits[i] = 0;
 | ^
libavcodec/vulkan_av1.c:411:33: error: request for member ‘segmentation’ in something not a structure or union
 411 | ap->av1_frame_header.segmentation.feature_enabled_bits[i] |= (frame_header->feature_enabled[i][j] << j);
 | ^
libavcodec/vulkan_av1.c:412:33: error: request for member ‘segmentation’ in something not a structure or union
 412 | ap->av1_frame_header.segmentation.feature_data[i][j] = frame_header->feature_value[i][j];
 | ^
libavcodec/vulkan_av1.c:415:29: error: request for member ‘loop_filter’ in something not a structure or union
 415 | ap->av1_frame_header.loop_filter.ref_deltas[i] = frame_header->loop_filter_ref_deltas[i];
 | ^
libavcodec/vulkan_av1.c:417:29: error: request for member ‘cdef’ in something not a structure or union
 417 | ap->av1_frame_header.cdef.y_pri_strength[i] = frame_header->cdef_y_pri_strength[i];
 | ^
libavcodec/vulkan_av1.c:418:29: error: request for member ‘cdef’ in something not a structure or union
 418 | ap->av1_frame_header.cdef.y_sec_strength[i] = frame_header->cdef_y_sec_strength[i];
 | ^
libavcodec/vulkan_av1.c:419:29: error: request for member ‘cdef’ in something not a structure or union
 419 | ap->av1_frame_header.cdef.uv_pri_strength[i] = frame_header->cdef_uv_pri_strength[i];
 | ^
libavcodec/vulkan_av1.c:420:29: error: request for member ‘cdef’ in something not a structure or union
 420 | ap->av1_frame_header.cdef.uv_sec_strength[i] = frame_header->cdef_uv_sec_strength[i];
 | ^
libavcodec/vulkan_av1.c:422:29: error: request for member ‘ref_order_hint’ in something not a structure or union
 422 | ap->av1_frame_header.ref_order_hint[i] = frame_header->ref_order_hint[i];
 | ^
libavcodec/vulkan_av1.c:423:29: error: request for member ‘global_motion’ in something not a structure or union
 423 | ap->av1_frame_header.global_motion[i] = (StdVideoAV1MESAGlobalMotion) {
 | ^
libavcodec/vulkan_av1.c:423:50: error: ‘StdVideoAV1MESAGlobalMotion’ undeclared (first use in this function); did you mean ‘StdVideoAV1GlobalMotion’?
 423 | ap->av1_frame_header.global_motion[i] = (StdVideoAV1MESAGlobalMotion) {
 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
 | StdVideoAV1GlobalMotion
libavcodec/vulkan_av1.c:423:78: error: expected ‘;’ before ‘{’ token
 423 | ap->av1_frame_header.global_motion[i] = (StdVideoAV1MESAGlobalMotion) {
 | ^~
 | ;
libavcodec/vulkan_av1.c:437:29: error: request for member ‘ref_frame_idx’ in something not a structure or union
 437 | ap->av1_frame_header.ref_frame_idx[i] = frame_header->ref_frame_idx[i];
 | ^
libavcodec/vulkan_av1.c:438:29: error: request for member ‘delta_frame_id_minus1’ in something not a structure or union
 438 | ap->av1_frame_header.delta_frame_id_minus1[i] = frame_header->delta_frame_id_minus1[i];
 | ^
libavcodec/vulkan_av1.c:441:21: error: request for member ‘skip_mode_frame_idx’ in something not a structure or union
 441 | ap->av1_pic_info.skip_mode_frame_idx[0] = s->cur_frame.skip_mode_frame_idx[0];
 | ^
libavcodec/vulkan_av1.c:442:21: error: request for member ‘skip_mode_frame_idx’ in something not a structure or union
 442 | ap->av1_pic_info.skip_mode_frame_idx[1] = s->cur_frame.skip_mode_frame_idx[1];
 | ^
libavcodec/vulkan_av1.c:446:33: error: request for member ‘film_grain’ in something not a structure or union
 446 | ap->av1_frame_header.film_grain.point_y_value[i] = film_grain->point_y_value[i];
 | ^
libavcodec/vulkan_av1.c:447:33: error: request for member ‘film_grain’ in something not a structure or union
 447 | ap->av1_frame_header.film_grain.point_y_scaling[i] = film_grain->point_y_scaling[i];
 | ^
libavcodec/vulkan_av1.c:451:33: error: request for member ‘film_grain’ in something not a structure or union
 451 | ap->av1_frame_header.film_grain.point_cb_value[i] = film_grain->point_cb_value[i];
 | ^
libavcodec/vulkan_av1.c:452:33: error: request for member ‘film_grain’ in something not a structure or union
 452 | ap->av1_frame_header.film_grain.point_cb_scaling[i] = film_grain->point_cb_scaling[i];
 | ^
libavcodec/vulkan_av1.c:453:33: error: request for member ‘film_grain’ in something not a structure or union
 453 | ap->av1_frame_header.film_grain.point_cr_value[i] = film_grain->point_cr_value[i];
 | ^
libavcodec/vulkan_av1.c:454:33: error: request for member ‘film_grain’ in something not a structure or union
 454 | ap->av1_frame_header.film_grain.point_cr_scaling[i] = film_grain->point_cr_scaling[i];
 | ^
libavcodec/vulkan_av1.c:458:33: error: request for member ‘film_grain’ in something not a structure or union
 458 | ap->av1_frame_header.film_grain.ar_coeffs_y_plus_128[i] = film_grain->ar_coeffs_y_plus_128[i];
 | ^
libavcodec/vulkan_av1.c:459:33: error: request for member ‘film_grain’ in something not a structure or union
 459 | ap->av1_frame_header.film_grain.ar_coeffs_cb_plus_128[i] = film_grain->ar_coeffs_cb_plus_128[i];
 | ^
libavcodec/vulkan_av1.c:460:33: error: request for member ‘film_grain’ in something not a structure or union
 460 | ap->av1_frame_header.film_grain.ar_coeffs_cr_plus_128[i] = film_grain->ar_coeffs_cr_plus_128[i];
 | ^
libavcodec/vulkan_av1.c:463:29: error: request for member ‘film_grain’ in something not a structure or union
 463 | ap->av1_frame_header.film_grain.ar_coeffs_cb_plus_128[24] = film_grain->ar_coeffs_cb_plus_128[24];
 | ^
libavcodec/vulkan_av1.c:464:29: error: request for member ‘film_grain’ in something not a structure or union
 464 | ap->av1_frame_header.film_grain.ar_coeffs_cr_plus_128[24] = film_grain->ar_coeffs_cr_plus_128[24];
 | ^
libavcodec/vulkan_av1.c: In function ‘vk_av1_decode_slice’:
libavcodec/vulkan_av1.c:483:32: error: request for member ‘nb_tiles’ in something not a structure or union
 483 | ap->tiles[ap->tile_list.nb_tiles] = (StdVideoAV1MESATile) {
 | ^
libavcodec/vulkan_av1.c:483:46: error: ‘StdVideoAV1MESATile’ undeclared (first use in this function); did you mean ‘StdVideoAV1Profile’?
 483 | ap->tiles[ap->tile_list.nb_tiles] = (StdVideoAV1MESATile) {
 | ^~~~~~~~~~~~~~~~~~~
 | StdVideoAV1Profile
libavcodec/vulkan_av1.c:483:66: error: expected ‘;’ before ‘{’ token
 483 | ap->tiles[ap->tile_list.nb_tiles] = (StdVideoAV1MESATile) {
 | ^~
 | ;
libavcodec/vulkan_av1.c:495:52: error: request for member ‘nb_tiles’ in something not a structure or union
 495 | &ap->tile_list.nb_tiles,
 | ^
libavcodec/vulkan_av1.c:500:32: error: request for member ‘nb_tiles’ in something not a structure or union
 500 | ap->tiles[ap->tile_list.nb_tiles - 1].offset = ap->tile_offsets[ap->tile_list.nb_tiles - 1];
 | ^
libavcodec/vulkan_av1.c:500:86: error: request for member ‘nb_tiles’ in something not a structure or union
 500 | ap->tiles[ap->tile_list.nb_tiles - 1].offset = ap->tile_offsets[ap->tile_list.nb_tiles - 1];
 | ^
libavcodec/vulkan_av1.c: In function ‘vk_av1_end_frame’:
libavcodec/vulkan_av1.c:516:23: error: request for member ‘nb_tiles’ in something not a structure or union
 516 | if (!ap->tile_list.nb_tiles)
 | ^
libavcodec/vulkan_av1.c:534:42: error: request for member ‘nb_tiles’ in something not a structure or union
 534 | vp->slices_size, ap->tile_list.nb_tiles);
 | ^
cc1: some warnings being treated as errors
make: *** [ffbuild/common.mak:81: libavcodec/vulkan_av1.o] Error 1



The command launch above are the one taken from the parent app build system.
I'm not familiar with ffmpeg or graphics system in general.


I don't understand why the first message says that
VkVideoDecodeAV1ProfileInfoMESA
could not be found.
I thought I might be missing some package dependencies but it appears that aVkVideoDecodeAV1ProfileInfoMESA
typedef can be found in ffmpeg sources (libavcodec/vulkan_video_codec_av1std.h:373
in this version).
So I assume something may be wrong with my compile configuration ?

I'm a little bit lost on this issue and don't know what to look for to solve it.


-
ffmpeg compilation problem : avcodec_find_decoder always returns null
15 mars 2016, par AdionI recently tried to upgrade the ffmpeg libraries I use in my Mac OS X application by downloading and compiling ffmpeg from source.
My code works correctly with pre-compiled libraries of the same version on windows.
On Mac OS X, the library appears to work (it can open the file and find the streams and codecs used), but when it gets to avcodec_find_decoder, this function always returns null.The code has worked with an older version of the library (compiled a year ago on Mac OS X 10.5)
I configured fmpeg using
./configure --extra-cflags="-arch i386" --extra-ldflags='-arch i386' --arch=x86_32 --target-os=darwin --enable-cross-compile --disable-indev=jack --enable-shared --disable-static
I checked config.mak, and it appears to have the decoders for the file types I tried enabled (ogg, vorbis, avi, mkv, ...)
I also checked that the correct header files have been used and that the newly compiled library is used.I have found only some older posts relating to this issue, but without any solution :
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-January/021399.html
http://libav-users.943685.n4.nabble.com/avcodec-find-decoder-problem-td944800.html
Edit : checking further, it appears av_codec_next(NULL) returns null as well, which means there isn’t a single codec available, or that first_avcodec in utils.c is not set (I actually haven’t found at all where this variable is set, I would have assumed av_register_all, but I can’t find it there)