Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (33)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • (Dés)Activation de fonctionnalités (plugins)

    18 février 2011, par

    Pour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
    SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
    Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
    MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)

  • Activation de l’inscription des visiteurs

    12 avril 2011, par

    Il est également possible d’activer l’inscription des visiteurs ce qui permettra à tout un chacun d’ouvrir soit même un compte sur le canal en question dans le cadre de projets ouverts par exemple.
    Pour ce faire, il suffit d’aller dans l’espace de configuration du site en choisissant le sous menus "Gestion des utilisateurs". Le premier formulaire visible correspond à cette fonctionnalité.
    Par défaut, MediaSPIP a créé lors de son initialisation un élément de menu dans le menu du haut de la page menant (...)

Sur d’autres sites (5077)

  • Révision 18371 : Report de r18366 :

    22 août 2011, par cedric -

    Manque dans l’analyseur de DTD : il ne verifie pas qu’un attribut de type NMTOKEN ou NMTOKENS ne contient que des noms. Utile pour certains attributs des balises d’en-tete dans la DTD XHTML Basic 1.1, mais curieusement pas pour l’attribut "class" qui est clairement un NMTOKENS pourtant. (...)

  • 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