[x264-devel] [PATCH] pic timing, vui timing info, hrd, and buffering periods
Alex Izvorski
aizvorski at availmedia.com
Mon Apr 7 17:48:48 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:
- 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.
- i_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 as written in the sps, 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/e89e370b/attachment-0001.bin
More information about the x264-devel
mailing list