
Recherche avancée
Autres articles (49)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Mise à disposition des fichiers
14 avril 2011, parPar défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)
Sur d’autres sites (7394)
-
avcodec : add avcodec_get_supported_config()
3 avril 2024, par Niklas Haasavcodec : add avcodec_get_supported_config()
This replaces the myriad of existing lists in AVCodec by a unified API
call, allowing us to (ultimately) trim down the sizeof(AVCodec) quite
substantially, while also making this more trivially extensible.In addition to the already covered lists, add two new entries for color
space and color range, mirroring the newly added negotiable fields in
libavfilter.Once the deprecation period passes for the existing public fields, the
rough plan is to move the commonly used fields (such as
pix_fmt/sample_fmt) into FFCodec, possibly as a union of audio and video
configuration types, and then implement the rarely used fields with
custom callbacks. -
Cannot display a decoded video frame on Raylib
20 décembre 2024, par gabriel_tisoI'm trying to explore
libav
andraylib
just to understand how audio and video work, and also to learn how to build nice interfaces using theraylib
project. I've implemented a simple struct capable of decoding audio and video frames. When a video frame appears, I convert it to theRGBA
format, which packs the values into 32bpp. This is the setup :

if (av_image_alloc((uint8_t **)media->dst_frame->data,
 media->dst_frame->linesize, media->ctxs[0]->width,
 media->ctxs[0]->height, AV_PIX_FMT_RGBA, 1) < 0) {
 fprintf(stderr, "Failed to setup dest image\n");
 return -1;
 }

 media->sws_ctx = sws_getContext(
 media->ctxs[0]->width, media->ctxs[0]->height, media->ctxs[0]->pix_fmt,
 media->ctxs[0]->width, media->ctxs[0]->height, AV_PIX_FMT_RGBA,
 SWS_BILINEAR, NULL, NULL, 0);

 // Later on, in the decode function:
 int ret = sws_scale(media->sws_ctx, media->frame->data,
 media->frame->linesize, 0, media->frame->height,
 media->dst_frame->data, media->dst_frame->linesize);




In the main file, I init raylib, and setup the necessary steps to load the texture (here I'm trying to fetch the first video frame in order to show the user a preview of the video, later on I plan to reset the stream to allow a correct playback routine). I think the format of the image is right.


Image previewImage =
 GenImageColor(videoArea.width, videoArea.height, BLACK);
 // I assume this makes the formats compatible
 ImageFormat(&previewImage, PIXELFORMAT_UNCOMPRESSED_R8G8B8A8);

 Texture2D videoTexture = LoadTextureFromImage(previewImage);
 UnloadImage(previewImage);




 if (!state->has_media) {
 DrawText("Drop a video file here!", videoArea.x + 10,
 videoArea.y + 10, 20, GRAY);
 } else {
 if (state->first_frame) {
 do {
 decode_packet(state->media);
 } while (!is_frame_video(state->media));

 UpdateTexture(videoTexture, state->media->dst_frame->data[0]);

 state->first_frame = 0;
 }
 }

 DrawTexture(videoTexture, videoArea.x, videoArea.y, WHITE);



Anyway, this is what I get when a mp4 file is dropped :



It seems like an alignment issue maybe ? Can someone point me in the right direction in order to correctly solve this problem ?


-
swscale/lut3d : add 3DLUT dispatch system
29 novembre 2024, par Niklas Haasswscale/lut3d : add 3DLUT dispatch system
This is a lightweight wrapper around the underlying color management system,
whose job it is merely to manage the 3DLUT state and apply them to the frame
data. This is where we might add platform-specific optimizations in the future.I also plan on adding support for more pixel formats in the future. In
particular, we could support YUV or XYZ input formats directly using only
negligible additional code in the 3DLUT setup functions. This would eliminate
the major source of slowdown, which is currently the roundtrip to RGBA64.