Recherche avancée

Médias (0)

Mot : - Tags -/auteurs

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (77)

  • 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 ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-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

Sur d’autres sites (8087)

  • AVFrame in AV_PIX_FMT_YUV420P format to H*W*3 data buffer conversion using sws_scale not accurate ?

    13 février 2024, par user3133806

    I have an AVFrame that is in YUV420 format and I am trying to convert to packed RGB in a data buffer :

    


      // Allocate enough for 8 bits per color in RGB.&#xA;  // Note that I want packed, not planar. i.e. RGBRGBRGB...&#xA;  // Each pixel is 3 bytes of RGB in row-major order&#xA;  buffer = new unsigned char[frame->height * frame->width * 3];&#xA;&#xA;  enum AVPixelFormat frameFormat =&#xA;      static_cast<enum avpixelformat="avpixelformat">(frame->format);&#xA;&#xA;  // Make sure the input is in the expected format.&#xA;  CHECK_EQ(frameFormat, AV_PIX_FMT_YUV420P);&#xA;&#xA;  SwsContext* swsContext = sws_getContext(&#xA;      frame->width,&#xA;      frame->height,&#xA;      frameFormat,&#xA;      frame->width,&#xA;      frame->height,&#xA;      AV_PIX_FMT_RGB24,&#xA;&#xA;      // I played around with these flags but could not get an accurate image&#xA;      SWS_BICUBIC | SWS_ACCURATE_RND,&#xA;      nullptr,&#xA;      nullptr,&#xA;      nullptr);&#xA;&#xA;  // My understanding is that because I am using packed format, not planar&#xA;  // I only need to fill in the first pointer.&#xA;  unsigned char* out_planes[4];&#xA;  out_planes[0] = buffer;&#xA;  out_planes[1] = nullptr;&#xA;  out_planes[2] = nullptr;&#xA;  out_planes[3] = nullptr;&#xA;&#xA;  sws_scale(&#xA;      swsContext,&#xA;      frame->data,&#xA;      frame->linesize,&#xA;      0,&#xA;      frame->height,&#xA;      &amp;out_planes,&#xA;&#xA;      // My understanding is that the stride of each plane is frame->width * 3&#xA;      (const int[4]){frame->width * 3, 0, 0, 0});&#xA;  sws_freeContext(swsContext);&#xA;&#xA;</enum>

    &#xA;

    This code does produce an image but the image appears to be wrong.

    &#xA;

    On a 300x200 video, the right few columns are wrong.

    &#xA;

    On a bigger resolution video the image seems correct, but on a smaller video it is not :

    &#xA;

    image produced by code

    &#xA;

    expected image

    &#xA;

    EDIT : It appears this is a bug in sws_scale (bug or expected feature). Turning off vector instructions causes it to work as expected :

    &#xA;

    // Adding this line before sws_scale causes the images to be bit exact.&#xA;av_set_cpu_flags_mask(0);&#xA;

    &#xA;

    I got that idea from this answer on SO : Turn off sw_scale conversion to planar YUV 32 byte alignment requirements

    &#xA;

  • intreadwrite : Add intermediate variables in the byteswise AV_W*() macros

    1er août 2016, par Martin Storsjö
    intreadwrite : Add intermediate variables in the byteswise AV_W*() macros
    

    This avoids issues with expanding the argument multiple times,
    and makes sure that it is of the right type for the following shifts.

    Even if the caller of a macro could be expected not to pass parameters
    that have side effects if expanded multiple times, these fallback
    codepaths are rarely, if ever, tested, so it is expected that such
    issues can arise.

    Thefore, for safety, make sure the fallback codepaths only expand
    the arguments once.

    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DBH] libavutil/intreadwrite.h
  • ffmpeg hls muxer is missing codec info in master playlist when codecs are copied from input

    21 septembre 2021, par dogan

    ffmpeg hls muxer has the option to set master playlist but the created playlist is missing the important codec information.

    &#xA;

    Example :

    &#xA;

    ffmpeg -hide_banner -i <input /> -c copy -f hls -master_pl_name master.m3u8  stream.m3u8&#xA;

    &#xA;

    Expected :

    &#xA;

    #EXTM3U&#xA;#EXT-X-VERSION:3&#xA;#EXT-X-STREAM-INF:BANDWIDTH=77595,RESOLUTION=1280x720,CODECS="avc1.64001f,mp4a.40.2"&#xA;stream.m3u8&#xA;

    &#xA;

    Instead I get this

    &#xA;

    #EXTM3U&#xA;#EXT-X-VERSION:3&#xA;#EXT-X-STREAM-INF:BANDWIDTH=77595,RESOLUTION=1280x720&#xA;stream.m3u8&#xA;

    &#xA;

    Is there a way to make ffmpeg set the codec info in playlist from the input source ? It works as expected if I encode the input using libx264 but I do not want to do any expensive encoding but copy the codecs from the input.

    &#xA;