[FFmpeg-devel] [PATCH]Add a 4444 profile to a prores encoder

Derek Buitenhuis derek.buitenhuis at gmail.com
Wed Sep 12 17:33:04 CEST 2012


On 12/09/2012 7:42 AM, Carl Eugen Hoyos wrote:
> When encoding prores wth -pix_fmt yuv444p, QuickTime shows "ProRes 422".
> (I don't know if this actually affects QuickTime decoding.)

I'm pretty sure this is just a naming thing. 4:4:4 is likely being used,
but maybe I can confirm later.

> Attached patch was tested on ffmpeg-user and allows to write a profile that 
> allows QuickTime to show "4444" (but I have no idea if the values for the 
> profile are really correct).

This code looks incorrect for a few reasons:

1) I do not think think we even support a true 4:4:4:4 colorspace. If we don't
   even support that, it is not correct to claim to be a 4:4:4:4 profile with alpha,
   when we don't even code an alpha channel. This may or may not break third party
   decoding.

> +    {
> +        .full_name = "4444",
> +        .tag       = MKTAG('a', 'p', '4', 'h'),
> +        .min_quant = 1,
> +        .max_quant = 6,
> +        .br_tab    = { 2350, 1828, 1600, 1425 },
> +        .quant     = QUANT_MAT_DEFAULT,
> +    },

2) It does not use the proper mix/max quantizer values. These need to be obtained
   from a the original binary or something.
3) It does not use the proper quantizer matrices. Also needs to be ripped from the
   binary.

> +    if (avctx->pix_fmt == PIX_FMT_YUV444P10)
> +        ctx->profile = PRORES_PROFILE_4444;
> +

4) This is wrong. See #1.

- Derek


More information about the ffmpeg-devel mailing list