diff mbox series

[FFmpeg-devel,v2,02/11] avcodec/dovi_rpu: properly replace context header

Message ID 20240409125914.61149-3-ffmpeg@haasn.xyz
State New
Headers show
Series avcodec: add Dolby Vision encoding | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Niklas Haas April 9, 2024, 12:57 p.m. UTC
From: Niklas Haas <git@haasn.dev>

This was never set in ff_dovi_ctx_replace(), leading to possibly
out-of-date when copying from a sub-thread to the main thread.
---
 libavcodec/dovi_rpu.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Andreas Rheinhardt April 9, 2024, 3:36 p.m. UTC | #1
Niklas Haas:
> From: Niklas Haas <git@haasn.dev>
> 
> This was never set in ff_dovi_ctx_replace(), leading to possibly
> out-of-date when copying from a sub-thread to the main thread.
> ---

Sub-thread to the main thread? update_thread_context is not called with
the main (user-facing) AVCodecContext.

>  libavcodec/dovi_rpu.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/libavcodec/dovi_rpu.c b/libavcodec/dovi_rpu.c
> index d95c7e03af9..bfb7b9fe661 100644
> --- a/libavcodec/dovi_rpu.c
> +++ b/libavcodec/dovi_rpu.c
> @@ -75,6 +75,7 @@ void ff_dovi_ctx_replace(DOVIContext *s, const DOVIContext *s0)
>  {
>      s->logctx = s0->logctx;
>      s->cfg = s0->cfg;
> +    s->header = s0->header;
>      s->mapping = s0->mapping;
>      s->color = s0->color;
>      for (int i = 0; i <= DOVI_MAX_DM_ID; i++)
Niklas Haas April 9, 2024, 4:02 p.m. UTC | #2
On Tue, 09 Apr 2024 17:36:30 +0200 Andreas Rheinhardt <andreas.rheinhardt@outlook.com> wrote:
> Niklas Haas:
> > From: Niklas Haas <git@haasn.dev>
> > 
> > This was never set in ff_dovi_ctx_replace(), leading to possibly
> > out-of-date when copying from a sub-thread to the main thread.
> > ---
> 
> Sub-thread to the main thread? update_thread_context is not called with
> the main (user-facing) AVCodecContext.

Changed to "from one thread to another".

> 
> >  libavcodec/dovi_rpu.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/libavcodec/dovi_rpu.c b/libavcodec/dovi_rpu.c
> > index d95c7e03af9..bfb7b9fe661 100644
> > --- a/libavcodec/dovi_rpu.c
> > +++ b/libavcodec/dovi_rpu.c
> > @@ -75,6 +75,7 @@ void ff_dovi_ctx_replace(DOVIContext *s, const DOVIContext *s0)
> >  {
> >      s->logctx = s0->logctx;
> >      s->cfg = s0->cfg;
> > +    s->header = s0->header;
> >      s->mapping = s0->mapping;
> >      s->color = s0->color;
> >      for (int i = 0; i <= DOVI_MAX_DM_ID; i++)
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
diff mbox series

Patch

diff --git a/libavcodec/dovi_rpu.c b/libavcodec/dovi_rpu.c
index d95c7e03af9..bfb7b9fe661 100644
--- a/libavcodec/dovi_rpu.c
+++ b/libavcodec/dovi_rpu.c
@@ -75,6 +75,7 @@  void ff_dovi_ctx_replace(DOVIContext *s, const DOVIContext *s0)
 {
     s->logctx = s0->logctx;
     s->cfg = s0->cfg;
+    s->header = s0->header;
     s->mapping = s0->mapping;
     s->color = s0->color;
     for (int i = 0; i <= DOVI_MAX_DM_ID; i++)