On Thu, Feb 11, 2021 at 10:34:11PM +0000, Mark Thompson wrote:
> On 11/02/2021 21:48, Lluís Batlle i Rossel wrote:
> > From: Lluís Batlle i Rossell <vi...@viric.name>
> > 
> > +
> 
> Random whitespace change?

likely. I can fix that.

> 
> >       if (!ref)
> >           return AVERROR(ENOMEM);
> > @@ -140,8 +141,19 @@ static int ffmmal_set_ref(AVFrame *frame, FFPoolRef 
> > *pool,
> >       atomic_fetch_add_explicit(&ref->pool->refcount, 1, 
> > memory_order_relaxed);
> >       mmal_buffer_header_acquire(buffer);
> > -    frame->format = AV_PIX_FMT_MMAL;
> > -    frame->data[3] = (uint8_t *)ref->buffer;
> > +    frame->format = avctx->pix_fmt;
> > +
> > +    if (avctx->pix_fmt == AV_PIX_FMT_YUV420P) {
> > +        int w = FFALIGN(avctx->width, 32);
> > +        int h = FFALIGN(avctx->height, 16);
> > +
> > +        av_image_fill_arrays(frame->data, frame->linesize,
> > +                buffer->data + buffer->type->video.offset[0],
> > +                avctx->pix_fmt, w, h, 1);
> > +    } else {
> > +        frame->data[3] = (uint8_t *)ref->buffer;
> > +    }
> > +
> >       return 0;
> >   }
> > @@ -633,30 +645,14 @@ static int ffmal_copy_frame(AVCodecContext *avctx,  
> > AVFrame *frame,
> 
> The function name is very misleading after this change.

Definitely. I can fix that.

> > +    if ((ret = ffmmal_set_ref(avctx, frame, ctx->pool_out, buffer)) < 0)
> > +        goto done;
> >       frame->pts = buffer->pts == MMAL_TIME_UNKNOWN ? AV_NOPTS_VALUE : 
> > buffer->pts;
> >   #if FF_API_PKT_PTS
> > 
> 
> What happens if the user holds on to multiple of the output frames, perhaps 
> because they are being queued into some other operation?  The number of 
> buffers appears fixed, so what happens if they run out?

I don't know. I don't know how to trigger that situation. That would
affect also the "mmal" pixfmt, already present.

-- 
(Escriu-me xifrat si saps PGP / Write ciphered if you know PGP)
PGP key 7CBD1DA5 - https://emailselfdefense.fsf.org/
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to