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
