codec/dirac: Rewrite libdirac(-research) encoding support
authorDavid Flynn <davidf@woaf.net>
Wed, 12 Nov 2008 09:21:25 +0000 (09:21 +0000)
committerLaurent Aimar <fenrir@videolan.org>
Wed, 12 Nov 2008 19:11:45 +0000 (20:11 +0100)
commit940c79795a4b59431f74b0df96cbcc14fc1b1b91
tree7fb93f6f13c7e8a2539fa62d9a1a11af2321f8ab
parent7c8f1b05e8d2b4aa1717e623eb683337e6f1dced
codec/dirac: Rewrite libdirac(-research) encoding support

libdirac is currently a higher quality (albeit much slower) encoder than
libschroedinger.  The intention is to port its algorithim to schro and
depricate the codebase.

A previous patch removes libdirac decoding support in preference
to the schroedinger module which is designed to be much faster.

This patch corrects previous attempts at doing an encoder module. It
takes into account:
 - input PTS
 - correctly forming output pts&dts (progressive and field coding modes)
 - gathering dirac data units into encapsulation units
 - encoder options
 - simplified encoder options (block overlap)
 - choosing of suitable parameters from input frame parameters
 - OggDirac compliant stashing of headers in p_extra

Signed-off-by: David Flynn <davidf@rd.bbc.co.uk>
Signed-off-by: Laurent Aimar <fenrir@videolan.org>
modules/codec/dirac.c