On 09/01/13 16:46, Uoti Urpala wrote:
> On Tue, 2013-01-08 at 15:34 +0100, Anton Khirnov wrote:
>>     mpeg-specific crap, most probably useless => remove:
>>         int8_t *qscale_table;
>>         int qstride;
>>         int qscale_type;
> 
> IIRC this information is required to support postprocessing MPEG2
> properly at least.

And just mpeg2 ?

> Having the decoder reorder pts info is of course necessary to support
> decoding with pts timestamps at all. Filters also need some mechanism to
> handle timestamps.

> Currently mplayer2 uses type-punning to place timestamps in the
> reordered_opaque field (as it's badly designed to only support int64_t,
> while timestamps are doubles). Making it an union supporting more basic
> types would be preferable.

union or pointer?

> Having just a "pts" field would cause problems at least if libavcodec
> would treat it as having any semantics other than blindly copied data.
> It shouldn't be assumed to contain integers that can be meaningfully
> used in any arithmetic operations for example.

> Having timestamp-adjusting filters in libavfilter (for example a
> deinterlace filter that splits fields and thus adds new frames with new
> timestamps) will also present problems with timestamps. Having the
> timestamps be integers will make it hard to feed values in from
> applications, and cumbersome and possibly inaccurate for the filters to
> manipulate them. Doubles would be more practical.

Rationals feel better maybe?

Sounds like we could take this chance to make this part more useful for
you, let's figure what's best =)

lu
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to