On 2013-02-23 3:08 PM, Kostya Shishkov wrote:
>> +static void packedtogbr24p(const uint8_t *src, int srcStride,
>> + uint8_t *dst[], int dstStride[], int srcSliceH,
>> + int alpha_first, int inc_size, int width)
>
> diego-valign-nit
Fixed locally.
>> + if (c->dstFormat != PIX_FMT_GBRP) {
>> + av_log(c, AV_LOG_ERROR, "unsupported planar RGB conversion %s ->
>> %s\n",
>> + av_get_pix_fmt_name(c->srcFormat),
>> + av_get_pix_fmt_name(c->dstFormat));
>> + return srcSliceH;
>> + }
>
> looks pointless
Left over code. Removed.
>> + switch (c->srcFormat) {
>> + case PIX_FMT_RGB24:
>> + packedtogbr24p((const uint8_t *) src[0], srcStride[0], dst201,
>> + stride201, srcSliceH, alpha_first, 3, c->srcW);
>> + break;
>> + case PIX_FMT_BGR24:
>> + packedtogbr24p((const uint8_t *) src[0], srcStride[0], dst102,
>> + stride102, srcSliceH, alpha_first, 3, c->srcW);
>> + break;
>> + case PIX_FMT_ARGB:
>> + alpha_first = 1;
>> + case PIX_FMT_RGBA:
>> + packedtogbr24p((const uint8_t *) src[0], srcStride[0], dst201,
>> + stride201, srcSliceH, alpha_first, 4, c->srcW);
>> + break;
>> + case PIX_FMT_ABGR:
>> + alpha_first = 1;
>> + case PIX_FMT_BGRA:
>> + packedtogbr24p((const uint8_t *) src[0], srcStride[0], dst102,
>> + stride102, srcSliceH, alpha_first, 4, c->srcW);
>
> is it just me or the casts looks unneeded?
I did it in a similar way to the existing gbrp->rgb function.
> Also IMO it can be simplified even further and only one call left.
I'm not sure I'd call it "simplified" per se.
> The only slightly nontrivial step is selecting dst102+stride102 or
> dst201+stride201. And probably it can even be extended to handle your
> favourite raw 16 bit per component RGB. But that's probably just creeping
> featurism.
Indeed.
>> + default:
>> + av_log(c, AV_LOG_ERROR,
>> + "unsupported planar RGB conversion %s -> %s\n",
>> + av_get_pix_fmt_name(c->srcFormat),
>> + av_get_pix_fmt_name(c->dstFormat));
>> + }
>
> should be caught at init IMO
I did it in a similar way to the existing gbrp->rgb function. Do you want
consistency
or this? ;)
- Derek
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel