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

Reply via email to