[Libav-user] Motion estimation : replacement for deprecated AVFrame::motion_val ?

Vojtěch Král vojtech at kral.hk
Tue Mar 25 13:50:48 CET 2014


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


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

For example, let's have a look at libjpeg: It has had a well-defined API
for accessing DCT coefficients since always and as far as I'm aware
nobody's having problem with it. (Refer to the chapter "Really raw data:
DCT coefficients" in libjpeg.txt) 

It would be very nice if ffmpeg had something similar. While I
unserstand that it's not at all a mainstream usecase, I still think it's


BR, Vojtěch Král 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20140325/53b54d78/attachment.html>

More information about the Libav-user mailing list