Recherche avancée

Médias (1)

Mot : - Tags -/ticket

Autres articles (112)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (14628)

  • Revision 6fb8953c19 : Restrict ref mv search range. Experiment to test speed trade off of reducing th

    5 novembre 2012, par Paul Wilkins

    Changed Paths : Modify /vp9/common/blockd.h Modify /vp9/common/mvref_common.c Restrict ref mv search range. Experiment to test speed trade off of reducing the extent of the ref mv search. Reducing the maximum number of tested candidates to 9 had minimal net effect on quality in any of the tests (...)

  • Libav FFv1 read_quant_table decoding errors

    16 novembre 2023, par flansel

    I am having trouble encoding and decoding video using the 'ffv1' codec. Interestingly when the width and height are 640 or less, this works correctly, but with any "large" frame size such as 1280x720 I get the follow errors ...

    


    [ffv1 @ 0x5612f4ab2240] read_quant_table error
[ffv1 @ 0x5612f4ab2240] Cannot decode non-keyframe without valid keyframe


    


    Are there any options which need to be set, or am I doing something else incorrectly, I made the example very minimal, I am aware that I am not writing an image to the frame and simply allocating garbage in the buffers among other things.
Thanks in advance.

    


    // minimal example
// ...
#define FRAMES (500)

int main(int argc, char **argv)
{
    AVCodecContext *enc, *dec;
    AVFrame *frame = av_frame_alloc();
    AVFrame *decoded_frame = av_frame_alloc();
    AVPacket *packet = av_packet_alloc();
    AVPacket *padded_packet = av_packet_alloc();

    const AVCodec *enc_codec = avcodec_find_encoder_by_name("ffv1");
    const AVCodec *dec_codec = avcodec_find_decoder_by_name("ffv1");
    enc = avcodec_alloc_context3(enc_codec);
    dec = avcodec_alloc_context3(dec_codec);

    enc->width   = 1280;
    enc->height  = 720;
    enc->pix_fmt = AV_PIX_FMT_YUV420P;
    enc->time_base.num = 1001;
    enc->time_base.den = 60000;

    dec->width  = enc->width;
    dec->height = enc->height;

    avcodec_open2(enc, enc_codec, NULL);
    avcodec_open2(dec, dec_codec, NULL);

    frame->height = enc->height;
    frame->width  = enc->width;
    frame->format = enc->pix_fmt;
    av_frame_get_buffer(frame, 32);
    printf("frame linesz %i,%i,%i\n", frame->linesize[0], frame->linesize[1], frame->linesize[2]);

    for (int i = 0; i < FRAMES; ++i)
    {
        avcodec_send_frame(enc, frame);
        while (!avcodec_receive_packet(enc, packet))
        {
            av_new_packet(padded_packet, packet->size + AV_INPUT_BUFFER_PADDING_SIZE);
            padded_packet->size -= AV_INPUT_BUFFER_PADDING_SIZE;

            memset(padded_packet->data, 0, padded_packet->size);
            memcpy(padded_packet->data, packet->data, packet->size);
            printf("frame %i encoded %i bytes\n", i, padded_packet->size);
            if (!avcodec_send_packet(dec, padded_packet))
            {
                printf("sent bytes to decoder\n");
            }
        }

        while (!avcodec_receive_frame(dec, decoded_frame))
        {
            printf("decoded frame height %i, width %i\n", decoded_frame->height, decoded_frame->width);
        }
        usleep(16000);
    }
    return 0;
}


    


  • Allocate AVFrame for sws_scale()

    13 mars 2020, par Slav

    Trying to write program which uses libav to extract raw pixel data ( BMP) from arbitrary video. Everything goes well except sws_scale() failing to convert AVFrame to RGB24.

    I formulated minimal example of it where AVFrame is being created and initialized with 4 different methods found on internet : https://github.com/SlavMFM/libav_bmp_example - all of them fail in different ways. How can I fix it so sws_scale() does the convertion ?