mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 03:01:03 +00:00
57ce0321c8
Original commit message from CVS: Added a tarkin encoder/decoder plugin. I moved the tarking CVS code in here temporarily until they have a library (hence this plugin is in ext) test with: ./gst-launch filesrc location=/opt/data/shihad.mpg ! mpegdemux video_00! { queue ! mpeg2dec ! colorspace ! tarkinenc bitrate=3000 ! disksink location=out.ogg } ./gst-launch filesrc location=out.ogg ! tarkindec ! colorspace ! xvideosink
42 lines
1.5 KiB
Text
42 lines
1.5 KiB
Text
|
|
|
|
Most important things:
|
|
|
|
- the entropy coder, replace static huffman
|
|
- clean up the pnsr tools
|
|
- write docs and do some performance analysis, compare to other codecs
|
|
- think about a multiresolution multidimensional motion flow detection scheme,
|
|
Marco posted a good paper comparing different algorithms to do this
|
|
|
|
|
|
Open bugs and stuff required to fix them:
|
|
|
|
- wavelet xform bug at short rows, see workaround in wavelet_xform.c
|
|
- (4,x) and (x,4) wavelet implementations have a bug which causes round-off
|
|
errors in the two least significand bits
|
|
|
|
|
|
Wavelet-related TODO's:
|
|
|
|
- remove unecessairy copying in inverse xform
|
|
- improve truncation table setup
|
|
- try other approaches to encode coefficients, jack was talking about VQ
|
|
and reuse vorbis code
|
|
- write avitotarkin/quicktimetotarkin/mpegtotarkin/player/recorder
|
|
(a libsndfile/libaudiofile/libao alike video library would be great !)
|
|
- profile
|
|
- add special transform functions for large strides to prevent cache misses
|
|
- mmx/3dnow/sse/altivec
|
|
|
|
|
|
Other:
|
|
|
|
- u and v buffers could get quarter size already at color conversion
|
|
this would speed up the whole algorithm; perhaps this should get
|
|
configurable
|
|
- fast internal 16bitY/U/V->15/16bitRGB for display could make sense
|
|
- the wavelet codec could be used for still image compression too
|
|
(we just have to define a file format with all goodies you can imagine;)
|
|
- to make it perfect someone has to write a good bilevel compressor and
|
|
mask seperation algorithm
|
|
|