Recherche avancée

Médias (2)

Mot : - Tags -/kml

Autres articles (42)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

Sur d’autres sites (5803)

  • swscale/lut3d : add 3DLUT dispatch system

    29 novembre 2024, par Niklas Haas
    swscale/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.

    • [DH] libswscale/Makefile
    • [DH] libswscale/lut3d.c
    • [DH] libswscale/lut3d.h
  • Cannot display a decoded video frame on Raylib

    20 décembre 2024, par gabriel_tiso

    I'm trying to explore libav and raylib just to understand how audio and video work, and also to learn how to build nice interfaces using the raylib project. I've implemented a simple struct capable of decoding audio and video frames. When a video frame appears, I convert it to the RGBA 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 :
raylib window

    


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

    


  • avcodec : add avcodec_get_supported_config()

    3 avril 2024, par Niklas Haas
    avcodec : 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.

    • [DH] doc/APIchanges
    • [DH] libavcodec/avcodec.c
    • [DH] libavcodec/avcodec.h
    • [DH] libavcodec/codec.h
    • [DH] libavcodec/codec_internal.h
    • [DH] libavcodec/version.h