[FFmpeg-devel] [PATCH] swscale: re enable gamma conversion
Michael Niedermayer
michaelni at gmx.at
Thu Sep 3 18:47:06 CEST 2015
On Thu, Sep 03, 2015 at 01:01:34PM -0300, Pedro Arthur wrote:
> Hi,
>
> This patch implement gamma conversion in the refactored scaling code, and
> re-enable it in old code.
> If it is good let me know and I'll push it.
[...]
> if (need_lum_conv) {
> - ff_init_desc_fmt_convert(&c->desc[index], &c->slice[srcIdx], &c->slice[dstIdx], pal);
> + res = ff_init_desc_fmt_convert(&c->desc[index], &c->slice[srcIdx], &c->slice[dstIdx], pal);
> + if (res < 0) goto cleanup;
> c->desc[index].alpha = c->alpPixBuf != 0;
> ++index;
> srcIdx = dstIdx;
> @@ -276,7 +284,8 @@ int ff_init_filters(SwsContext * c)
>
>
> dstIdx = FFMAX(num_ydesc, num_cdesc);
> - ff_init_desc_hscale(&c->desc[index], &c->slice[index], &c->slice[dstIdx], c->hLumFilter, c->hLumFilterPos, c->hLumFilterSize, c->lumXInc);
> + res = ff_init_desc_hscale(&c->desc[index], &c->slice[srcIdx], &c->slice[dstIdx], c->hLumFilter, c->hLumFilterPos, c->hLumFilterSize, c->lumXInc);
> + if (res < 0) goto cleanup;
> c->desc[index].alpha = c->alpPixBuf != 0;
>
>
> @@ -285,23 +294,31 @@ int ff_init_filters(SwsContext * c)
> srcIdx = 0;
> dstIdx = 1;
> if (need_chr_conv) {
> - ff_init_desc_cfmt_convert(&c->desc[index], &c->slice[srcIdx], &c->slice[dstIdx], pal);
> + res = ff_init_desc_cfmt_convert(&c->desc[index], &c->slice[srcIdx], &c->slice[dstIdx], pal);
> + if (res < 0) goto cleanup;
> ++index;
> srcIdx = dstIdx;
> }
>
> dstIdx = FFMAX(num_ydesc, num_cdesc);
> if (c->needs_hcscale)
> - ff_init_desc_chscale(&c->desc[index], &c->slice[srcIdx], &c->slice[dstIdx], c->hChrFilter, c->hChrFilterPos, c->hChrFilterSize, c->chrXInc);
> + res = ff_init_desc_chscale(&c->desc[index], &c->slice[srcIdx], &c->slice[dstIdx], c->hChrFilter, c->hChrFilterPos, c->hChrFilterSize, c->chrXInc);
> else
> - ff_init_desc_no_chr(&c->desc[index], &c->slice[srcIdx], &c->slice[dstIdx]);
> + res = ff_init_desc_no_chr(&c->desc[index], &c->slice[srcIdx], &c->slice[dstIdx]);
> + if (res < 0) goto cleanup;
> }
>
> ++index;
> {
> srcIdx = c->numSlice - 2;
> dstIdx = c->numSlice - 1;
> - ff_init_vscale(c, c->desc + index, c->slice + srcIdx, c->slice + dstIdx);
> + res = ff_init_vscale(c, c->desc + index, c->slice + srcIdx, c->slice + dstIdx);
> + }
the return code checking LGTM but should be in a seperate commit
rest of the patch LGTM too
thanks
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
The real ebay dictionary, page 3
"Rare item" - "Common item with rare defect or maybe just a lie"
"Professional" - "'Toy' made in china, not functional except as doorstop"
"Experts will know" - "The seller hopes you are not an expert"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150903/fdd0cd9a/attachment.sig>
More information about the ffmpeg-devel
mailing list