
Recherche avancée
Médias (1)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
Autres articles (52)
-
Pas question de marché, de cloud etc...
10 avril 2011Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
sur le web 2.0 et dans les entreprises qui en vivent.
Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...) -
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Formulaire personnalisable
21 juin 2013, parCette page présente les champs disponibles dans le formulaire de publication d’un média et il indique les différents champs qu’on peut ajouter. Formulaire de création d’un Media
Dans le cas d’un document de type média, les champs proposés par défaut sont : Texte Activer/Désactiver le forum ( on peut désactiver l’invite au commentaire pour chaque article ) Licence Ajout/suppression d’auteurs Tags
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire. (...)
Sur d’autres sites (8074)
-
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 user3133806I 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.
 // Note that I want packed, not planar. i.e. RGBRGBRGB...
 // Each pixel is 3 bytes of RGB in row-major order
 buffer = new unsigned char[frame->height * frame->width * 3];

 enum AVPixelFormat frameFormat =
 static_cast<enum avpixelformat="avpixelformat">(frame->format);

 // Make sure the input is in the expected format.
 CHECK_EQ(frameFormat, AV_PIX_FMT_YUV420P);

 SwsContext* swsContext = sws_getContext(
 frame->width,
 frame->height,
 frameFormat,
 frame->width,
 frame->height,
 AV_PIX_FMT_RGB24,

 // I played around with these flags but could not get an accurate image
 SWS_BICUBIC | SWS_ACCURATE_RND,
 nullptr,
 nullptr,
 nullptr);

 // My understanding is that because I am using packed format, not planar
 // I only need to fill in the first pointer.
 unsigned char* out_planes[4];
 out_planes[0] = buffer;
 out_planes[1] = nullptr;
 out_planes[2] = nullptr;
 out_planes[3] = nullptr;

 sws_scale(
 swsContext,
 frame->data,
 frame->linesize,
 0,
 frame->height,
 &out_planes,

 // My understanding is that the stride of each plane is frame->width * 3
 (const int[4]){frame->width * 3, 0, 0, 0});
 sws_freeContext(swsContext);

</enum>


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


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


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






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


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



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


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