[x264-devel] [PATCH] pic timing, vui timing info, hrd, and buffering periods

Alex Izvorski aizvorski at availmedia.com
Mon Apr 7 21:04:59 CEST 2008


Hello,


This patch does 3 related things:

- adds pic struct elements in pic timing SEI NAL, controlled with the
--sei-pic-timing option.  only active if interlacing is on, and the
field order is controlled by a field inside each frame which must be
provided by any application using the codec, assumes bottom field first
from the commandline.

- allows turning off timing info entirely in the VUI, or leaving it on
but turning off the fixed frame rate flag, controlled with the
--vui-timing-info-present and --vui-fixed-frame-rate options.  this may
help some decoders in the case of variable frame rate.

- allows adding HRD data which is user-set (not calculated). turned on
by --vui-nal-hrd-parameters-present, data is controlled by a bunch of
--vui-hrd-* options.  this adds a buffering period SEI NAL before every
IDR frame, and pic timing SEI with cpb removal/dpb output before every
frame.

parts based on: hrd3 patch by Gabriel Bouvigne (from Jun 2007), pic
struct patch by Loren Merritt, hrd_pulldown patch.


Limitations/notes/bugs/questions:

- there is another patch which adds pulldown capability using pic_struct
(http://forum.doom9.org/showthread.php?p=1047919), this patch can't do
that yet.  I would like some input from the author of that patch re:
cpb/dbp values, the calculation there appears quite complex.

- option names are quite verbose.

- cpb_cnt == 1, only one set of parameters.

- no ability to do vcl hrd, and also a single hrd struct is meant to be
shared between vcl and nal hrd (since parts of it have to be identical
anyway).

- should bitrates etc be stored in the sps as they would be written out,
or as kbit?  mostly kbit now, also *_scale is hardwired to zero.

- no clock timestamps for each field/frame, in pic struct - how would
these be calculated from each frame's i_pts when they are in clock ticks
but the pts is in (presumably) 90kHz ticks?

- no commandline option to set top field first.

- hrd info should be calculated from vbv options, but how?


Please comment.

Regards,
--Alex Izvorski


P.S. This patch is copyright 2008 Avail Media, Inc. and released under
GPL v2.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: vui-hrd-pic-struct-v1.patch
Type: text/x-patch
Size: 26640 bytes
Desc: not available
Url : http://mailman.videolan.org/pipermail/x264-devel/attachments/20080407/ba773aca/attachment-0001.bin 


More information about the x264-devel mailing list