[Ffmpeg-devel] Specifying codec restrictions

Måns Rullgård mru
Sat Mar 4 18:17:43 CET 2006


Michael Niedermayer <michaelni at gmx.at> writes:

> Hi
>
> On Sat, Mar 04, 2006 at 01:28:15PM +0000, M?ns Rullg?rd wrote:
>> I've been thinking about this a bit, and I've come up with an idea:

[...]

>> Does this make any sense at all?  Some more parameters should probably
>> be added (SAR, audio stuff), and the constant names could be abbreviated.
>> 
>> Comments welcome.
>
> it does make sense, but its quite complicated,

I couldn't think of anything simpler that would be able of expressing
all the kinds of restrictions.

> i tried to come up with a more generic or simpler system but sadly i
> was not too successfull, maybe simply a flag which switches between
> dependant/indepandant values would be enough?
>
> so that
>
> for mpeg:
> supported_framerates   ={{24000, 1001}, {   24,    1}, ..., INDEPENDANT_END};
> supported_pix_fmts     ={PIX_FMT_YUV420P, INDEPENDANT_END};
> supported_resolutions  ={INDEPENDANT_END};
>
> for h.263
> supported_framerates   ={INDEPENDANT_END};
> supported_pix_fmts     ={PIX_FMT_YUV420P, INDEPENDANT_END};
> supported_resolutions  ={{-4,-4}, INDEPENDANT_END};

This is what we have now, with the addition of the resolutions.

> for dv
> supported_framerates   ={{30000, 1001}  , {   25,    1}  , DEPENDANT_END};
> supported_pix_fmts     ={PIX_FMT_YUV411P, PIX_FMT_YUV420P, DEPENDANT_END};
> supported_resolutions  ={{720, 480}     , {720, 576}     , DEPENDANT_END};

I'd prefer a single flags field with bits indicating which of the
restrictions are dependent on others.

Do we need to handle restrictions such as pairs of resolution/sar and
pairs of resolution/pixfmt?

-- 
M?ns Rullg?rd
mru at inprovide.com





More information about the ffmpeg-devel mailing list