[FFmpeg-devel] [PATCH 1/2] avfilter: vf_minterpolate: rename chroma log vars
Paul B Mahol
onemda at gmail.com
Mon Aug 29 18:02:30 EEST 2016
On Sun, Aug 28, 2016 at 10:51 PM, Paul B Mahol <onemda at gmail.com> wrote:
>
>
> On Sun, Aug 28, 2016 at 10:47 PM, Michael Niedermayer <
> michael at niedermayer.cc> wrote:
>
>> On Sun, Aug 28, 2016 at 06:24:14PM +0000, Davinder Singh wrote:
>> > hi,
>> >
>> > this rename confusing chroma variables to one used in
>> AVPixFmtDescriptor.
>> > more consistent.
>> > also removed some useless vars from context.
>> >
>> > thanks
>> > DSM_
>>
>> [...]
>>
>> > @@ -900,6 +894,8 @@ static void bidirectional_obmc(MIContext *mi_ctx,
>> int alpha)
>> > }
>> > }
>> >
>> > +
>> > +
>> > static void set_frame_data(MIContext *mi_ctx, int alpha, AVFrame
>> *avf_out)
>> > {
>> > int x, y, plane;
>>
>> stray change
>>
>>
>> > @@ -936,8 +932,8 @@ static void set_frame_data(MIContext *mi_ctx, int
>> alpha, AVFrame *avf_out)
>> > for (i = 0; i < pixel->nb; i++) {
>> > Frame *frame = &mi_ctx->frames[pixel->refs[i]];
>> > if (chroma) {
>> > - x_mv = (x >> mi_ctx->chroma_h_shift) +
>> (pixel->mvs[i][0] >> mi_ctx->chroma_h_shift);
>> > - y_mv = (y >> mi_ctx->chroma_v_shift) +
>> (pixel->mvs[i][1] >> mi_ctx->chroma_v_shift);
>> > + x_mv = (x >> mi_ctx->log2_chroma_w) +
>> (pixel->mvs[i][0] >> mi_ctx->log2_chroma_w);
>> > + y_mv = (y >> mi_ctx->log2_chroma_h) +
>> (pixel->mvs[i][1] >> mi_ctx->log2_chroma_h);
>> > } else {
>> > x_mv = x + pixel->mvs[i][0];
>> > y_mv = y + pixel->mvs[i][1];
>> > @@ -949,7 +945,7 @@ static void set_frame_data(MIContext *mi_ctx, int
>> alpha, AVFrame *avf_out)
>> > val = ROUNDED_DIV(val, weight_sum);
>> >
>> > if (chroma)
>> > - avf_out->data[plane][(x >> mi_ctx->chroma_h_shift)
>> + (y >> mi_ctx->chroma_v_shift) * avf_out->linesize[plane]] = val;
>> > + avf_out->data[plane][(x >> mi_ctx->log2_chroma_w)
>> + (y >> mi_ctx->log2_chroma_h) * avf_out->linesize[plane]] = val;
>> > else
>> > avf_out->data[plane][x + y *
>> avf_out->linesize[plane]] = val;
>> > }
>> > @@ -1092,8 +1088,8 @@ static void interpolate(AVFilterLink *inlink,
>> AVFrame *avf_out)
>> > int height = avf_out->height;
>> >
>> > if (plane == 1 || plane == 2) {
>> > - width = mi_ctx->chroma_width;
>> > - height = mi_ctx->chroma_height;
>> > + width = width >> mi_ctx->log2_chroma_w;
>> > + height = height >> mi_ctx->log2_chroma_h;
>>
>> this is rounded differntly if wdith / height is odd,
>> is that intended ?
>>
>
> It should use AV_CEIL_RSHIFT
>
And using avcodec* stuff is in lavfi is not needed.
More information about the ffmpeg-devel
mailing list