[FFmpeg-devel] [PATCH 1/3] avfilter/vf_framerate: highbit depth support

James Almer jamrial at gmail.com
Fri Sep 11 20:31:53 CEST 2015


On 9/11/2015 3:03 PM, Paul B Mahol wrote:
> Dana 11. 9. 2015. 17:52 osoba "James Almer" <jamrial at gmail.com> napisala je:
>>
>> On 9/11/2015 12:24 PM, Paul B Mahol wrote:
>>> Signed-off-by: Paul B Mahol <onemda at gmail.com>
>>> ---
>>>  libavfilter/vf_framerate.c | 281
> ++++++++++++++++++++++++++++++++++-----------
>>>  1 file changed, 212 insertions(+), 69 deletions(-)
>>>
>>> diff --git a/libavfilter/vf_framerate.c b/libavfilter/vf_framerate.c
>>> index 5c9da19..4d8ee16 100644
>>> --- a/libavfilter/vf_framerate.c
>>> +++ b/libavfilter/vf_framerate.c
>>> @@ -72,6 +72,12 @@ typedef struct FrameRateContext {
>>>      AVFrame *srce[N_SRCE];              ///< buffered source frames
>>>      int64_t srce_pts_dest[N_SRCE];      ///< pts for source frames
> scaled to output timebase
>>>      int64_t pts;                        ///< pts of frame we are
> working on
>>> +
>>> +    int (*blend_frames)(AVFilterContext *ctx, float interpolate,
>>> +                        AVFrame *copy_src1, AVFrame *copy_src2);
>>> +    int max;
>>> +    int bitdepth;
>>> +    AVFrame *work;
>>>  } FrameRateContext;
>>>
>>>  #define OFFSET(x) offsetof(FrameRateContext, x)
>>> @@ -114,6 +120,59 @@ static void next_source(AVFilterContext *ctx)
>>>      s->srce[s->frst] = NULL;
>>>  }
>>>
>>> +static av_always_inline int64_t sad_8x8_16(const uint16_t *src1,
> ptrdiff_t stride1,
>>> +                                           const uint16_t *src2,
> ptrdiff_t stride2)
>>> +{
>>> +    int sum = 0;
>>> +    int x, y;
>>> +
>>> +    for (y = 0; y < 8; y++) {
>>> +        for (x = 0; x < 8; x++)
>>> +            sum += FFABS(src1[x] - src2[x]);
>>> +        src1 += stride1;
>>> +        src2 += stride2;
>>> +    }
>>> +    return sum;
>>> +}
>>
>> Use libavutil/pixelutils instead. It was made specifically for cases like
> this.
> 
> It have 16 bit version?

Ah, apparently it doesn't. Nevermind then.



More information about the ffmpeg-devel mailing list