[FFmpeg-devel] [PATCH 3/3] lavc/libxvid: workaround for bug in libxvidcore
Michael Niedermayer
michaelni at gmx.at
Fri Dec 5 03:48:39 CET 2014
On Thu, Dec 04, 2014 at 11:33:03PM +0100, Lukasz Marek wrote:
> On 04.12.2014 12:42, Clément Bœsch wrote:
> >On Thu, Dec 04, 2014 at 12:39:29AM +0100, Lukasz Marek wrote:
> >>On 24.11.2014 01:17, Lukasz Marek wrote:
> >>>libxvidcore calculate number of threads basing on video height.
> >>>If height is small enough it allocates 0 bytes long memory and
> >>>writes to it.
> >>>Setting thread_count to 0 uses 1 thread and skips bugged code.
> >>>
> >>>Signed-off-by: Lukasz Marek <lukasz.m.luki2 at gmail.com>
> >>>---
> >>> libavcodec/libxvid.c | 11 +++++++++++
> >>> 1 file changed, 11 insertions(+)
> >>>
> >>>diff --git a/libavcodec/libxvid.c b/libavcodec/libxvid.c
> >>>index 70d52b9..efe7b8a 100644
> >>>--- a/libavcodec/libxvid.c
> >>>+++ b/libavcodec/libxvid.c
> >>>@@ -471,6 +471,17 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)
> >>> xvid_enc_create.num_zones = 0;
> >>>
> >>> xvid_enc_create.num_threads = avctx->thread_count;
> >>>+ /* workaround for a bug in libxvidcore */
> >>>+ if (avctx->height < 18) {
> >>>+ if (avctx->thread_count < 2) {
> >>>+ xvid_enc_create.num_threads = 0;
> >>>+ } else {
> >>>+ av_log(avctx, AV_LOG_ERROR,
> >>>+ "Too small height for threads > 1.");
> >>>+ ret = AVERROR(EINVAL);
> >>>+ goto fail;
> >>>+ }
> >>>+ }
> >>>
> >>> xvid_enc_create.plugins = plugins;
> >>> xvid_enc_create.num_plugins = 0;
> >>>
> >>
> >>Please comment this patch. xvid accepted fix for it.
> >
> >Can you add a version check, or at least a comment saying what versions
> >are affected by this?
>
> Added a check. it was introduced in 1.3.0 and still present in
> 1.3.3. Next should be fixed.
>
> libxvid.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
> de82e17a2e509e21ce8384d913a9394f80b8537d 0001-lavc-libxvid-workaround-for-bug-in-libxvidcore.patch
> From 1bfe00284fdb3dba072147df1efce03c7d29dd35 Mon Sep 17 00:00:00 2001
> From: Lukasz Marek <lukasz.m.luki2 at gmail.com>
> Date: Mon, 24 Nov 2014 01:12:06 +0100
> Subject: [PATCH] lavc/libxvid: workaround for bug in libxvidcore
>
> libxvidcore calculate number of threads basing on video height.
> If height is small enough it allocates 0 bytes long memory and
> writes to it.
> Setting thread_count to 0 uses 1 thread and skips bugged code.
>
> Signed-off-by: Lukasz Marek <lukasz.m.luki2 at gmail.com>
applied
thanks
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Observe your enemies, for they first find out your faults. -- Antisthenes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20141205/ae1ff226/attachment.asc>
More information about the ffmpeg-devel
mailing list