
Recherche avancée
Médias (91)
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#4 Emo Creates
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#2 Typewriter Dance
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#1 The Wires
11 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
ED-ME-5 1-DVD
11 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (110)
-
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Publier sur MédiaSpip
13 juin 2013Puis-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 (13054)
-
Revision 98537 : 3 notices PHP en moins lors de la création d’une Page unique. Le champ ...
23 juin 2016, par marcimat@… — Log3 notices PHP en moins lors de la création d’une Page unique.
Le champ $erreurchamp_page ? n’est pas toujours présent, tout comme $argcontexte ?page ?. -
Révision 94388 : D’experience cela ne pose pas de probleme de charger dans la page toutes les donn...
30 décembre 2015, par cedric@yterium.comOn supprime donc le double systeme de zoom URL + JS en laissant uniquement le zoom JS : par defaut le graphe jour est zoome sur les 90 derniers jours, mais il suffit de double-clicker pour avoir tout l’historique, que l’on peut zoomer/dezoomer par selection a la souris dans le graphe
-
How to parallelize this for loop for rapidly converting YUV422 to RGB888 ?
16 avril 2015, par vineetI am using v4l2 api to grab images from a Microsoft Lifecam and then transferring these images over TCP to a remote computer. I am also encoding the video frames into a MPEG2VIDEO using ffmpeg API. These recorded videos play too fast which is probably because not enough frames have been captured and due to incorrect FPS settings.
The following is the code which converts a YUV422 source to a RGB888 image. This code fragment is the bottleneck in my code as it takes nearly 100 - 150 ms to execute which means I can’t log more than 6 - 10 FPS at 1280 x 720 resolution. The CPU usage is 100% as well.
for (int line = 0; line < image_height; line++) {
for (int column = 0; column < image_width; column++) {
*dst++ = CLAMP((double)*py + 1.402*((double)*pv - 128.0)); // R - first byte
*dst++ = CLAMP((double)*py - 0.344*((double)*pu - 128.0) - 0.714*((double)*pv - 128.0)); // G - next byte
*dst++ = CLAMP((double)*py + 1.772*((double)*pu - 128.0)); // B - next byte
vid_frame->data[0][line * frame->linesize[0] + column] = *py;
// increment py, pu, pv here
}’dst’ is then compressed as jpeg and sent over TCP and ’vid_frame’ is saved to the disk.
How can I make this code fragment faster so that I can get atleast 30 FPS at 1280x720 resolution as compared to the present 5-6 FPS ?
I’ve tried parallelizing the for loop across three threads using p_thread, processing one third of the rows in each thread.
for (int line = 0; line < image_height/3; line++) // thread 1
for (int line = image_height/3; line < 2*image_height/3; line++) // thread 2
for (int line = 2*image_height/3; line < image_height; line++) // thread 3This gave me only a minor improvement of 20-30 milliseconds per frame.
What would be the best way to parallelize such loops ? Can I use GPU computing or something like OpenMP ? Say spwaning some 100 threads to do the calculations ?I also noticed higher frame rates with my laptop webcam as compared to the Microsoft USB Lifecam.
Here are other details :
- Ubuntu 12.04, ffmpeg 2.6
- AMG-A8 quad core processor with 6GB RAM
- Encoder settings :
- codec : AV_CODEC_ID_MPEG2VIDEO
- bitrate : 4000000
- time_base : (AVRational)1, 20
- pix_fmt : AV_PIX_FMT_YUV420P
- gop : 10
- max_b_frames : 1