[FFmpeg-devel] [PATCH] libopenjpegenc: recreate image data buffer after encoding frame
Andreas Cadhalpun
andreas.cadhalpun at googlemail.com
Wed Oct 12 18:45:20 EEST 2016
On 12.10.2016 03:42, Michael Bradshaw wrote:
> On Tue, Oct 11, 2016 at 9:57 AM, Andreas Cadhalpun <
> andreas.cadhalpun at googlemail.com> wrote:
>
>> openjpeg 2 sets the data pointers of the image components to NULL,
>> causing segfaults if the image is reused.
>>
>
> I've never seen this issue.
That's strange, as it happens practically always here (on Debian testing/sid).
> Is there a particular version of OpenJPEG or
The OpenJPEG version is 2.1.2, i.e. the latest.
> reproduction steps available?
For example:
$ ffmpeg -f lavfi -i testsrc -c:v libopenjpeg -f null /dev/null
> Where are the data pointers being set to NULL here?
>>
>> The relevant openjpeg2 code is:
>> https://sources.debian.net/src/openjpeg2/2.1.2-1/src/lib/openjp2/j2k.c/?hl=10253#L10247
I didn't include this link in the commit message, as it will become invalid,
as soon as the next OpenJPEG version enters Debian.
For future reference, the code is:
/* TODO_MSD: Find a better way */
if (p_image->comps) {
OPJ_UINT32 it_comp;
for (it_comp = 0 ; it_comp < p_image->numcomps; it_comp++) {
if (p_image->comps[it_comp].data) {
p_j2k->m_private_image->comps[it_comp].data =p_image->comps[it_comp].data;
p_image->comps[it_comp].data = NULL;
}
}
}
Best regards,
Andreas
More information about the ffmpeg-devel
mailing list