
Recherche avancée
Médias (91)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Wired NextMusic
14 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (18)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
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 -
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...)
Sur d’autres sites (3564)
-
How to fill/calculate motion_val in FFMPEG ?
10 février 2015, par MenuItem42I’m trying to get motion vectors of a mpeg video via ffmpeg (in c++).
The problem that I have is, that motion_val along with motion_subsample_log2 and mb_type of the AVFrame class remain empty and/or aren’t initialized (debugger says 0x0) and it seems that they are only available because of compatibility reasons
I’ve read in the ffmpeg wiki, that you can debug the motion vectors of the video via command line withffmpeg -vismv pf -i input.mp4 output.mp4
The result is that the output.mp4 has motion vector arrows. So I searched for the –vismv parameter in the code and found in libavcodec\options.c a long list of options :
{"vismv", "visualize motion vectors (MVs)", OFFSET(debug_mv), FF_OPT_TYPE_INT, DEFAULT, 0, INT_MAX, V|D, "debug_mv"},
I suppose that this line affects somehow debug_mv of AVCodecContext. With this assumption I searched for further information and I found some code snippets which I thought might help.
pAVCodecContext->debug_mv = FF_DEBUG_VIS_MV_P_FOR | FF_DEBUG_VIS_MV_B_FOR | FF_DEBUG_MB_TYPE | FF_DEBUG_MV;
and
pAVCodecContext->debug |= FF_DEBUG_MV;
But both didn’t trigger the calculation or filling of the motion_val array.
By the way my code is based on the code by Victor Hsieh and Jiasi Chen and this code is basically the ffmpeg sourcecode (libavcodec\mpegvideo.c). I also tried to find (also with help of the documentation) the piece of code that triggers the calculation, but because of the complexity of the code I didn’t get any results.
The question is now, if is there any possibility to fill this variables or start the calculation of the motion vector table or is there any other alternative way to get the motion vectors of every block of the mpeg-frames.Edit :
I forgot to mention my ffmpeg versionZeranoe’s FFmpeg version : 2014-07-08 git-14e2406
- libavutil 52. 91.100 / 52. 91.100
- libavcodec 55. 68.102 / 55. 68.102
- libavformat 55. 45.100 / 55. 45.100
- libavdevice 55. 13.101 / 55. 13.101
- libavfilter 4. 10.100 / 4. 10.100
- libswscale 2. 6.100 / 2. 6.100
- libswresample 0. 19.100 / 0. 19.100
- libpostproc 52. 3.100 / 52. 3.100
Changed to a newer version (2.5), but it didn’t change/solve the problem.
-
Correctly Allocate And Fill Frame In FFmpeg
14 avril 2022, par Michel FeinsteinI am filling a
Frame
with a BGR image for encoding, and I am getting a memory leak. I think I got to the source of the problem but it appears to be a library issue instead. Since FFmpeg is such a mature library, I think I am misusing it and I would like to be instructed on how to do it correctly.


I am allocating a
Frame
using :


AVFrame *bgrFrame = av_frame_alloc();




And later I allocate the image in the
Frame
using :


av_image_alloc(bgrFrame->data, bgrFrame->linesize, bgrFrame->width, bgrFrame->height, AV_PIX_FMT_BGR24, 32);




Then I fill the image allocated using :



av_image_fill_pointers(bgrFrame->data, AV_PIX_FMT_BGR24, bgrFrame->height, originalBGRImage.data, bgrFrame->linesize);




Where
originalBGRImage
is an OpenCVMat
.


And this has a memory leak, apparently,
av_image_alloc()
allocates memory, andav_image_fill_pointers()
also allocates memory, on the same pointers (I can seebgrFrame->data[0]
changing between calls).


If I call



av_freep(&bgrFrame->data[0]);




After
av_image_alloc()
, it's fine, but if I call it afterav_image_fill_pointers()
, the program crashes, even thoughbgrFrame->data[0]
is notNULL
, which I find very curious.


Looking FFmpeg's
av_image_alloc()
source code, I see it callsav_image_fill_pointers()
twice inside it, once allocating a bufferbuff
....and later inav_image_fill_pointers()
source code,data[0]
is substituted by the image pointer, which is (I think) the source of the memory leak, sincedata[0]
was holdingbuf
from the previousav_image_alloc()
call.


So this brings the final question : What's the correct way of filling a frame with an image ?.


-
Correctly Allocate And Fill Frame In FFmpeg
24 février 2016, par mFeinsteinI am filling a
Frame
with a BGR image for encoding, and I am getting a memory leak. I think I got to the source of the problem but it appears to be a library issue instead. Since FFmpeg is such a mature library, I think I am misusing it and I would like to be instructed on how to do it correctly.I am allocating a
Frame
using :AVFrame *bgrFrame = av_frame_alloc();
And later I allocate the image in the
Frame
using :av_image_alloc(bgrFrame->data, bgrFrame->linesize, bgrFrame->width, bgrFrame->height, AV_PIX_FMT_BGR24, 32);
Then I fill the image allocated using :
av_image_fill_pointers(bgrFrame->data, AV_PIX_FMT_BGR24, bgrFrame->height, originalBGRImage.data, bgrFrame->linesize);
Where
originalBGRImage
is an OpenCVMat
.And this has a memory leak, apparently,
av_image_alloc()
allocates memory, andav_image_fill_pointers()
also allocates memory, on the same pointers (I can seebgrFrame->data[0]
changing between calls).If I call
av_freep(&bgrFrame->data[0]);
After
av_image_alloc()
, it’s fine, but if I call it afterav_image_fill_pointers()
, the program crashes, even thoughbgrFrame->data[0]
is notNULL
, which I find very curious.Looking FFmpeg’s
av_image_alloc()
source code, I see it callsav_image_fill_pointers()
twice inside it, once allocating a bufferbuff
....and later inav_image_fill_pointers()
source code,data[0]
is substituted by the image pointer, which is (I think) the source of the memory leak, sincedata[0]
was holdingbuf
from the previousav_image_alloc()
call.So this brings the final question : What’s the correct way of filling a frame with an image ?.