On Sun, Aug 16, 2015 at 05:45:55PM -0400, Ronald S. Bultje wrote: > Hi, > > On Sun, Aug 16, 2015 at 5:24 PM, Andreas Cadhalpun < > andreas.cadhal...@googlemail.com> wrote: > > > On 16.08.2015 22:15, Ronald S. Bultje wrote: > > > Convert last users to av_opt_get_*() counterparts. > > > --- > > > libavfilter/af_aresample.c | 17 +++++++++-------- > > > libavutil/opt.h | 3 +++ > > > 2 files changed, 12 insertions(+), 8 deletions(-) > > > > I'm fine with this, but the patch is incomplete: > > libavfilter/x86/vf_spp.c also uses av_get_int. > > Furthermore the FF_OPT_TYPE_* defines are used in several places. > > > Yes I noticed the last one in vf_spp.c, I missed it (don't know how), have > it locally amended. I'm working on FF_OPT_TYPE_* separately (I'm doing one > deprecation macro at a time). >
> Some really are a mess, Michael can you comment on how on earth you could > consider adding av_stream_get_end_pts as a replacement for AVFrac without > deeply frowning at yourself? Can you take some time and fix that correctly? AVFrac is used to exactly compute timestamps, that is when you have a timebase a/b in which timestamps are stored (1/1000000 or 1/90000 or whatever) and frame durations which are not multiples of that like 25000/1001. If you would convert frame durations into the timebase for the timestamps and sum them up you would quickly accumulate rounding errors. One could use doubles but that would not be bitexact nor exact either AVFrac uses a 64bit denominator to represent accumulated durations starting from a timestamp exactly. AVRational is 32/32bit so it cannot 1:1 replace AVFrac. Like with everything, of course the code using AVFrac could be implemented differently. Iam happy to help testing if someone suceeds in simplifying the code also i belive there are other places in our codebase which do similar durations accumulation and which do suffer from accumulation of rounding errors. > I also don't know what to do about codec-specific qscales in the pp > avfilters. the qscale table and the type of qscale needs to be passed to the postprocessing filter The obvious two ways to achive that are a AVFrame field, or side data. If people dislike how its done currently, by all means, change it! I can probably help testing the new implementation -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Democracy is the form of government in which you can choose your dictator
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel