Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] swscale/x86/yuv_2_rgb: fix access to memory past the frame data in yuv to rgb conversion
@ 2022-05-23 16:06 Vardan Margaryan
  2022-06-01  9:45 ` Anton Khirnov
  0 siblings, 1 reply; 2+ messages in thread
From: Vardan Margaryan @ 2022-05-23 16:06 UTC (permalink / raw)
  To: ffmpeg-devel

Y, U, V data is loaded at the end of the current iteration for the next 
iteration.
It results in memory access past the frame data on the last iteration 
(that data is never used after the loading).

So load data at the start of the iteration, so that only useful data is 
loaded.

Signed-off-by: Vardan Margaryan <v.t.margaryan@gmail.com>
---
  libswscale/x86/yuv_2_rgb.asm | 5 +----
  1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/libswscale/x86/yuv_2_rgb.asm b/libswscale/x86/yuv_2_rgb.asm
index 2f0b4130df..f968b3a0a2 100644
--- a/libswscale/x86/yuv_2_rgb.asm
+++ b/libswscale/x86/yuv_2_rgb.asm
@@ -139,10 +139,10 @@ cglobal %1_420_%2%3, GPR_num, GPR_num, reg_num, 
parameters
      VBROADCASTSD vr_coff,  [pointer_c_ditherq + 4  * 8]
  %endif
  %endif
+.loop0:
      movu m_y, [py_2indexq + 2 * indexq]
      movh m_u, [pu_indexq  +     indexq]
      movh m_v, [pv_indexq  +     indexq]
-.loop0:
      pxor m4, m4
      mova m7, m6
      punpcklbw m0, m4
@@ -347,9 +347,6 @@ cglobal %1_420_%2%3, GPR_num, GPR_num, reg_num, 
parameters
  %endif ; PACK RGB15/16
  %endif ; PACK RGB15/16/32
  -movu m_y, [py_2indexq + 2 * indexq + 8 * time_num]
-movh m_v, [pv_indexq  +     indexq + 4 * time_num]
-movh m_u, [pu_indexq  +     indexq + 4 * time_num]
  add imageq, 8 * depth * time_num
  add indexq, 4 * time_num
  js .loop0
-- 
2.30.2

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [FFmpeg-devel] [PATCH] swscale/x86/yuv_2_rgb: fix access to memory past the frame data in yuv to rgb conversion
  2022-05-23 16:06 [FFmpeg-devel] [PATCH] swscale/x86/yuv_2_rgb: fix access to memory past the frame data in yuv to rgb conversion Vardan Margaryan
@ 2022-06-01  9:45 ` Anton Khirnov
  0 siblings, 0 replies; 2+ messages in thread
From: Anton Khirnov @ 2022-06-01  9:45 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Quoting Vardan Margaryan (2022-05-23 18:06:16)
> Y, U, V data is loaded at the end of the current iteration for the next 
> iteration.
> It results in memory access past the frame data on the last iteration 
> (that data is never used after the loading).
> 
> So load data at the start of the iteration, so that only useful data is 
> loaded.
> 
> Signed-off-by: Vardan Margaryan <v.t.margaryan@gmail.com>
> ---
>   libswscale/x86/yuv_2_rgb.asm | 5 +----
>   1 file changed, 1 insertion(+), 4 deletions(-)

I'm not an expert on this code, but the patch looks good and it fixes
some invalid reads for me, so will push in a few days if nobody objects.

Also note that your mailer mangled the patch, so it could not be applied
automatically with 'git am', please fix this in future submissions e.g.
by attaching the patch or sending it with git send-email.

-- 
Anton Khirnov
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-06-01  9:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-23 16:06 [FFmpeg-devel] [PATCH] swscale/x86/yuv_2_rgb: fix access to memory past the frame data in yuv to rgb conversion Vardan Margaryan
2022-06-01  9:45 ` Anton Khirnov

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git