From: "Kacper Michajłow" <kasper93@gmail.com> To: ffmpeg-devel@ffmpeg.org Cc: "Kacper Michajłow" <kasper93@gmail.com> Subject: [FFmpeg-devel] [PATCH 05/10] avcodec/d3d12va_encode: don't write garbage when there is no header Date: Tue, 22 Jul 2025 21:16:06 +0200 Message-ID: <20250722191611.744784-5-kasper93@gmail.com> (raw) In-Reply-To: <20250722191611.744784-1-kasper93@gmail.com> When codec->write_sequence_header is not defined, bit_len was undefined, and while data bufer was zeroed we could just overread it. Do nothing when we don't have anything to write. Signed-off-by: Kacper Michajłow <kasper93@gmail.com> --- libavcodec/d3d12va_encode.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/libavcodec/d3d12va_encode.c b/libavcodec/d3d12va_encode.c index d99e960db6..64821da5f5 100644 --- a/libavcodec/d3d12va_encode.c +++ b/libavcodec/d3d12va_encode.c @@ -299,21 +299,20 @@ static int d3d12va_encode_issue(AVCodecContext *avctx, "header: %d.\n", err); goto fail; } - } - - pic->header_size = (int)bit_len / 8; - pic->aligned_header_size = pic->header_size % ctx->req.CompressedBitstreamBufferAccessAlignment ? - FFALIGN(pic->header_size, ctx->req.CompressedBitstreamBufferAccessAlignment) : - pic->header_size; + pic->header_size = (int)bit_len / 8; + pic->aligned_header_size = pic->header_size % ctx->req.CompressedBitstreamBufferAccessAlignment ? + FFALIGN(pic->header_size, ctx->req.CompressedBitstreamBufferAccessAlignment) : + pic->header_size; + + hr = ID3D12Resource_Map(pic->output_buffer, 0, NULL, (void **)&ptr); + if (FAILED(hr)) { + err = AVERROR_UNKNOWN; + goto fail; + } - hr = ID3D12Resource_Map(pic->output_buffer, 0, NULL, (void **)&ptr); - if (FAILED(hr)) { - err = AVERROR_UNKNOWN; - goto fail; + memcpy(ptr, data, pic->aligned_header_size); + ID3D12Resource_Unmap(pic->output_buffer, 0, NULL); } - - memcpy(ptr, data, pic->aligned_header_size); - ID3D12Resource_Unmap(pic->output_buffer, 0, NULL); } d3d12_refs.NumTexture2Ds = base_pic->nb_refs[0] + base_pic->nb_refs[1]; -- 2.50.1 _______________________________________________ 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".
next prev parent reply other threads:[~2025-07-22 19:17 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-07-22 19:16 [FFmpeg-devel] [PATCH 01/10] avformat/os_support: check invalid socket value correctly on Windows Kacper Michajłow 2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 02/10] avformat/vivo: fix sscanf specifer for double Kacper Michajłow 2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 03/10] avcodec/d3d12va_decode: remove unused variable Kacper Michajłow 2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 04/10] avcodec/d3d12va_encode: use correct none flag Kacper Michajłow 2025-07-22 19:16 ` Kacper Michajłow [this message] 2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 06/10] avcodec/d3d12va_encode: don't return uninitialized value on error Kacper Michajłow 2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 07/10] avcodec/d3d12va_encode_hevc: remove unused variable Kacper Michajłow 2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 08/10] avcodec/x86/fdct: guard usage of undefined functions with preprocessor Kacper Michajłow 2025-07-22 19:27 ` Kacper Michajlow 2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 09/10] avcodec/x86/vc1: " Kacper Michajłow 2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 10/10] avformat/rtmpproto: " Kacper Michajłow
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=20250722191611.744784-5-kasper93@gmail.com \ --to=kasper93@gmail.com \ --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