Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Timo Rothenpieler <timo@rothenpieler.org>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH v2 0/8] ddagrab source filter, lavfi.c wrapped_avframe and dependent changes
Date: Sat, 9 Jul 2022 02:57:22 +0200
Message-ID: <28efef30-2b5b-853f-f10e-18ca1c78b873@rothenpieler.org> (raw)
In-Reply-To: <DM8P223MB0365D0363BB6066E0B0E7EC1BA859@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>

On 09.07.2022 02:28, Soft Works wrote:
> 
> 
>> -----Original Message-----
>> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of
>> Timo Rothenpieler
>> Sent: Saturday, July 9, 2022 2:15 AM
>> To: ffmpeg-devel@ffmpeg.org
>> Subject: Re: [FFmpeg-devel] [PATCH v2 0/8] ddagrab source filter,
>> lavfi.c wrapped_avframe and dependent changes
>>
>> On 09.07.2022 02:01, Soft Works wrote:
>>> I can submit the missing bit of differences as a patch. I thought
>>> it was no longer needed. The requirements have also changed over
>>> MSDK versions. The 8bit file mapping that I've shown recently
>> exists
>>> in fact because an earlier MSDK version was requesting such
>> texture.
>>>
>>> Anyway, when something is causing trouble, then it should be fixed
>>> in hwcontext_qsv.
>>
>> Settings those flags correctly isn't at all a bad idea though, and
>> not
>> fixing any issue I actively experienced. Just an oversight I noticed
>> while reading the code.
>>
>> Fixing the heap overflow is the major issue and can really only be
>> done
>> in the d3d11 hwcontext.
>> Look at the texture_flags array.
>> It only ever gets initialized to the size of the initial pool size.
>> With a non-fixed-size pool, that grows over time, that obviously is
>> an
>> issue, and will trash whatever comes after the hwcontext on the heap
>> whenever more frames are requested than initially allocated.
>> With a initial size of 0, that is... immediately.
>>
>>
>> An entire other issue this does not address at all, but which also
>> does
>> not cause any memory corruption at least:
>>
>> QSV can't properly deal with a non-fixed-size pool.
>> What happens if more fresh frames are allocated after the qsv hwctx
>> has
>> been derived?
>>   From the looks of it, it iterates and maps all the textures only
>> once
>> at init.
> 
> There's an allocator pattern which filters are using, so when using
> non-array textures it might be possible to have bigger pools than
> textures allocated. But that's just a "might".
> Please give me one or two days to respond with a better and more
> comprehensive answer. Right now, I'm deeply drowned into something
> else ;-)

That issue is entirely unrelated to the ddagrab filter.
All it needs is the heap overflow fixed, since it very much does run 
into that.

The other stuff are just follow ups I found while skimming through that 
code.
So if you want more time to look into those, that's no big deal at all 
from my end.
And the fix for the heap overflow is as straight forward as it gets.
_______________________________________________
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".

  reply	other threads:[~2022-07-09  0:57 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-08 22:53 Timo Rothenpieler
2022-07-08 22:53 ` [FFmpeg-devel] [PATCH v2 1/8] fftools/ffmpeg: make debug_ts print raw filter output Timo Rothenpieler
2022-07-08 22:53 ` [FFmpeg-devel] [PATCH v2 2/8] avutil/hwcontext_d3d11va: fix mixed declaration and code Timo Rothenpieler
2022-07-08 22:53 ` [FFmpeg-devel] [PATCH v2 3/8] avutil/hwcontext_d3d11va: fix texture_infos writes on non-fixed-size pools Timo Rothenpieler
2022-07-08 22:54 ` [FFmpeg-devel] [PATCH v2 4/8] avutil/hwcontext_d3d11va: update hwctx flags from input texture Timo Rothenpieler
2022-07-08 22:54 ` [FFmpeg-devel] [PATCH v2 5/8] avutil/hwcontext_d3d11va: add BGRA/RGBA10 formats support Timo Rothenpieler
2022-07-08 22:54 ` [FFmpeg-devel] [PATCH v2 6/8] avdevice/lavfi: output wrapped AVFrames Timo Rothenpieler
2022-07-08 22:54 ` [FFmpeg-devel] [PATCH v2 7/8] avdevice/lavfi: pass forward video framerate Timo Rothenpieler
2022-07-08 22:54 ` [FFmpeg-devel] [PATCH v2 8/8] avfilter: add vsrc_ddagrab Timo Rothenpieler
2022-07-09  5:01   ` Gyan Doshi
2022-07-09 11:21     ` Timo Rothenpieler
2022-07-08 23:46 ` [FFmpeg-devel] [PATCH v2 0/8] ddagrab source filter, lavfi.c wrapped_avframe and dependent changes Soft Works
2022-07-08 23:48   ` Soft Works
2022-07-08 23:49   ` Timo Rothenpieler
2022-07-09  0:01     ` Soft Works
2022-07-09  0:15       ` Timo Rothenpieler
2022-07-09  0:28         ` Soft Works
2022-07-09  0:57           ` Timo Rothenpieler [this message]
2022-07-14 13:51 ` Timo Rothenpieler
2022-07-14 13:56   ` Gyan Doshi
2022-07-14 13:59     ` Timo Rothenpieler
2022-07-17 11:37 ` Timo Rothenpieler
2022-07-19  7:25   ` Mark Himsley
2022-07-19 11:34     ` Timo Rothenpieler
2022-07-19 12:20       ` Timo Rothenpieler
2022-07-20  8:21         ` Mark Himsley
2022-07-20 20:24           ` Timo Rothenpieler
2022-07-19 15:21       ` Mark Himsley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=28efef30-2b5b-853f-f10e-18ca1c78b873@rothenpieler.org \
    --to=timo@rothenpieler.org \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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