Message ID | 20181205132758.11233-1-onemda@gmail.com |
---|---|
State | New |
Headers | show |
2018-12-05 14:27 GMT+01:00, Paul B Mahol <onemda@gmail.com>: > Fixes #4409. > > Signed-off-by: Paul B Mahol <onemda@gmail.com> > --- > libavcodec/dpx.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c > index 538a1b9943..04b55ffadf 100644 > --- a/libavcodec/dpx.c > +++ b/libavcodec/dpx.c > @@ -378,7 +378,8 @@ static int decode_frame(AVCodecContext *avctx, > read10in32(&buf, &rgbBuffer, > &n_datum, endian, shift); > } > - n_datum = 0; > + if (packing != 2) > + n_datum = 0; > for (i = 0; i < elements; i++) > ptr[i] += p->linesize[i]; > } This breaks decoding the output of the following command: $ gm convert converted_image_gets_skewed.dpx -define dpx:packing-method=b out.dpx Carl Eugen
On 12/5/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote: > 2018-12-05 14:27 GMT+01:00, Paul B Mahol <onemda@gmail.com>: >> Fixes #4409. >> >> Signed-off-by: Paul B Mahol <onemda@gmail.com> >> --- >> libavcodec/dpx.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c >> index 538a1b9943..04b55ffadf 100644 >> --- a/libavcodec/dpx.c >> +++ b/libavcodec/dpx.c >> @@ -378,7 +378,8 @@ static int decode_frame(AVCodecContext *avctx, >> read10in32(&buf, &rgbBuffer, >> &n_datum, endian, shift); >> } >> - n_datum = 0; >> + if (packing != 2) >> + n_datum = 0; >> for (i = 0; i < elements; i++) >> ptr[i] += p->linesize[i]; >> } > > This breaks decoding the output of the following command: > $ gm convert converted_image_gets_skewed.dpx -define > dpx:packing-method=b out.dpx I do not trust that app, its full of bugs.
2018-12-05 17:33 GMT+01:00, Paul B Mahol <onemda@gmail.com>: > On 12/5/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote: >> 2018-12-05 14:27 GMT+01:00, Paul B Mahol <onemda@gmail.com>: >>> Fixes #4409. >>> >>> Signed-off-by: Paul B Mahol <onemda@gmail.com> >>> --- >>> libavcodec/dpx.c | 3 ++- >>> 1 file changed, 2 insertions(+), 1 deletion(-) >>> >>> diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c >>> index 538a1b9943..04b55ffadf 100644 >>> --- a/libavcodec/dpx.c >>> +++ b/libavcodec/dpx.c >>> @@ -378,7 +378,8 @@ static int decode_frame(AVCodecContext *avctx, >>> read10in32(&buf, &rgbBuffer, >>> &n_datum, endian, shift); >>> } >>> - n_datum = 0; >>> + if (packing != 2) >>> + n_datum = 0; >>> for (i = 0; i < elements; i++) >>> ptr[i] += p->linesize[i]; >>> } >> >> This breaks decoding the output of the following command: >> $ gm convert converted_image_gets_skewed.dpx -define >> dpx:packing-method=b out.dpx > > I do not trust that app, its full of bugs. What is the reference for dpx in your opinion? Carl Eugen
On 12/5/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote: > 2018-12-05 17:33 GMT+01:00, Paul B Mahol <onemda@gmail.com>: >> On 12/5/18, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote: >>> 2018-12-05 14:27 GMT+01:00, Paul B Mahol <onemda@gmail.com>: >>>> Fixes #4409. >>>> >>>> Signed-off-by: Paul B Mahol <onemda@gmail.com> >>>> --- >>>> libavcodec/dpx.c | 3 ++- >>>> 1 file changed, 2 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c >>>> index 538a1b9943..04b55ffadf 100644 >>>> --- a/libavcodec/dpx.c >>>> +++ b/libavcodec/dpx.c >>>> @@ -378,7 +378,8 @@ static int decode_frame(AVCodecContext *avctx, >>>> read10in32(&buf, &rgbBuffer, >>>> &n_datum, endian, shift); >>>> } >>>> - n_datum = 0; >>>> + if (packing != 2) >>>> + n_datum = 0; >>>> for (i = 0; i < elements; i++) >>>> ptr[i] += p->linesize[i]; >>>> } >>> >>> This breaks decoding the output of the following command: >>> $ gm convert converted_image_gets_skewed.dpx -define >>> dpx:packing-method=b out.dpx >> >> I do not trust that app, its full of bugs. > > What is the reference for dpx in your opinion? ImageTragick certainly not.
diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c index 538a1b9943..04b55ffadf 100644 --- a/libavcodec/dpx.c +++ b/libavcodec/dpx.c @@ -378,7 +378,8 @@ static int decode_frame(AVCodecContext *avctx, read10in32(&buf, &rgbBuffer, &n_datum, endian, shift); } - n_datum = 0; + if (packing != 2) + n_datum = 0; for (i = 0; i < elements; i++) ptr[i] += p->linesize[i]; }
Fixes #4409. Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/dpx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)