On Tue, Feb 28, 2012 at 01:40:57PM -0000, Phil Barrett wrote:
> I sent this to ffmpeg-devel and was recommended to post it to libav
> as well.
>
>
> The attached patch updates proresenc_kostya.c as follows:
There are two problems with it. First, it's called simply proresenc.c here,
and second, it's not a good idea to mix several things in the patch.
> 1. Fixes chroma block ordering for 4:4:4
That one should be tested and maybe we need to fix our decoder as well.
> 2. Fixes sample duplication at right and bottom when image isn't a
> multiple of 16x16 (e.g. at bottom of HD 1920x1080 frame)
I'll check it.
> 3. Fixes plane_factor calculation for 4:4:4 chroma planes
I doubt it, your change does not change anything in behaviour.
before:
if (chroma)
plane_factor += chroma_factor - 3;
your change:
if (!chroma || chroma_factor == 3){
//do nothing
}else{
plane_factor += chroma_factor - 3;
}
Result is the same.
> 4. Adds a "4444" profile (min_quant and max_quant may still be wrong
> though, verification welcome)
It's kinda pointless without proper pixel format with alpha. Hopefully Ronald
can add it.
> 5. Sets the colour primaries, transfer function and matrix from the
> context options into the ProRes header
Are you sure our enum values correspond to what Apple decoder expects to see
there?
> Remaining issues with ProRes 4444 are:
> 1. needs to accept YUVA data, and encode the alpha channel
> 2. needs to accept 16-bit input data, since ProRes 4:4:4 encodes 12-bit
> data
Can be done with enough interest. Encoder should be quite easy to extend for
any bitdepth.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel