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

Reply via email to