[FFmpeg-devel] Fwd: Re: [Libav-user] Motion estimation : replacement for deprecated AVFrame::motion_val ?

Reimar Döffinger Reimar.Doeffinger at gmx.de
Wed Mar 26 08:05:33 CET 2014


On 25.03.2014, at 19:33, Anshul <anshul.ffmpeg at gmail.com> wrote:
> -------- Original Message --------
> From: wm4 <nfxjfg at googlemail.com>
> Sent: Tue Mar 25 19:10:24 IST 2014
> To: libav-user at ffmpeg.org
> Subject: Re: [Libav-user] Motion estimation : replacement for deprecated AVFrame::motion_val ?
> 
> On Tue, 25 Mar 2014 13:50:48 +0100
> Vojtěch Král <vojtech at kral.hk> wrote:
> 
>> 
>> 
>> On 2014-03-25 13:29, Tomas Härdin wrote: 
>> 
>>> Please avoid top posting on these lists - it's considered bad form.
>>> 
>>> On 2014-03-25 12:10, cyril poulet wrote: 
>>> 
>>> 2014-03-25 12:06 GMT+01:00 Tomas Härdin <tomas.hardin at codemill.se>:
>>> 
>>> On 2014-03-25 11:29, cyril poulet wrote:
>>> Hi all
>>> As others who already posted on this matter but got no answers, I'm trying to get motion vectors from h264 codec (P-frames).
>>> Before v2, they seemed to be available in AVFrame::motion_val, (along with motion_subsample_log2 and mb_type), which are now deprecated.
>>> 
>>> Is there any way to get these values since v2 ?
>>> 
>>> (I'm also interested in getting back the dct_coeff for I-frames, but something tells me that all these questions are linked) I think the general direction nowadays is to hide such internals. If you want access to this stuff in the future you'll have to fork and hack the functionality in
>>> 
>>> /Tomas
>> 
>>> So i've understood, but I don't really see why these values are not available anymore. I realize that messing with the internals of various codecs is not why libav is made for, but these fields are calculated anyway, so why not propagate it to the AVFrame ?
>> 
>> Because they're internal, and having them exposed hampers refactoring
>> efforts. If you want stuff to remain "like before" then just use some
>> specific old version of ffmpeg in your application (or even a specific
>> commit)
>> 
>> /Tomas 
>> 
>> That's a rather evasive answer... I myself would too welcome if the API
>> for access to internals such as DCTs and MVs was preserved (mostly for
>> academical / experimental purposes, as I'm working on a bc thesis
>> concerning video right now). Refactoring is a great thing, but it
>> doesn't have to entail removing funcionality... 
> 
> As far as I know, the API was deprecated by Libav. Libav also removed
> the implementation of these. FFmpeg merged the deprecation, but not the
> removal of the implementation (or at least not all of it). So there's
> hope for you to convince the developers to un-deprecate it.
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user
> 
> 
> I have missed the disscussion when it was removed, I will search old archive why this feature was deprecated, I just wanted to disscuss if it is really possible to know mv vector present in stream using avoption.
> 
> I am intrested in this feature because my camera streams out h264. I decode each frame and use my own algorithms to detect movements of humans. But with this mv vector feature , my pc has not to do any processing.

I'd like to point out that at CLT we also got questions about accessing MVs (possibly even without full decode).
So there are people interested in that feature.


More information about the ffmpeg-devel mailing list