[XviD-devel] updated todo list
peter ross
xvid-devel@xvid.org
Fri, 29 Nov 2002 22:33:53 +1100
-----------------------------------------------------------------------
XVID-DEVEL
* decide development policies: cvs/patch-list/forums [DONE]
* write a decent faq document, developer documentation
BUGS
* rework timebase/timeincr code [DONE]
* interlacing bug [DONE]
* radek's max_bframes==-1 artifical problem [DONE]
* encode/decode any image resolution [DONE]
* add emms_mmx() to xvid_init xmm,3dnow [DONE]
* yuv->rgb mmx, yellow line
* custom MPEG quant matrix global vars
* prevent invalid memory accesses; valgrind
XVIDCORE
* xvid-specific info in user_start_code. e.g. xvid build num [DONE]
* ^^ what about "desired-post processing level" setting??
* adds skals fast vlc code [?]
* combine quant + iquant
* prefiltering (e.g. XVID_TVOUT; lum_offset = -2)
* proper SMP support; bframes
* flag to support/unsupport VOL insertion at I_VOP
* VOL support only at I_VOP??. (interlacing,gmc,qpel,etc.)
* cutsom_quant for bframes
* re-implement internal timer using function ptr wrappers
* reduced resolution vops encoding/decoding
* Encoder struct marshalling, such that we can pause/resume encoding
* chroma interpolation (blur chroma plane)
* chroma optimization; where chroma is averaged when 16<luma<240
XVIDCORE/API3
* incorporate platform independant 2-pass vbr
XVIDCORE/DCT
* zero idct coeff issue
* examine/implement new fdct algo
* use fast/inaccurate fdct/idct for b-frames
* combine fdct + quant to improve performance
XVIDCORE/IMAGE
* image_input XVID_CSP_VFLIP support [DONE]
* RGBA modes [DONE]
* interlace chrom [DONE]
* colorspace mmx patches/optimizations; yuv to rgb 15/16 mmx code
* increase precision of yuv to rgb transformation
* blocked-based edge mirrorring.
XVIDCORE/ME
* permit different motion search algos to be selected [DEPRECATED]
* put the different ME algos into seperate files [DEPRECATED]
* qpel ME [DONE]
* GMC [IN PROGRESS]
* optimise getpmv/macroblock structure
* investigate "good" field-based motion estimation methods
* decision criteria if qpel or "normal" halfpel vectors should be used
XVIDCORE/BFRAMES
* don't reconstruct b-frames [DONE]
* scene change detection? futher testing required [DONE]
* automatic b-frame/p-frame decision [NEEDS REFINEMENT]
* 2pass statistics and mvhiting [IN PROGRESS]
* cleanup ipb encoder gotos [IN PROGRESS]
* add dynamic fcode/bcode
XVIDCORE/DECODER
* qpel speedup [DONE]
* auto/width height detection [DONE]
* cleanup bframe mb_decoding functions
* post processing, brightness, etc.
* test if 16xX transfer/interpolation functions would be faster
(sse2,maybe?)
* div3 support
FRONTENDS
* contact nullsoft about their winamp3 plugin interface
* UCI intergration
FRONTENDS/VFW
* export a Configure() function [DONE]
* simplify interface - remove some 2-pass options no-one uses,
create alternate "really really simple" front-end with
4 or 5 options max.
* add MPEG-4 profile/level selection to vfw GUI and XVID API
* decompress_get_format() does not need to validate the output format,
and should set biOutput->bmiHeader.biBitSize
FRONTENDS/DSHOW
* IDirectDrawMedaStream::GetFormat returns E_NO_STREAM
* add directshow encoding filter
FRONTENDS/QT
* import quicktime frontend into cvs & clean up
* add proper encoding support/gui
GRUEL
* Search around the web for other GPL projects who already have code
we are planning to do ourselves, e.g. image prefiltering,
postprocessing, rescaling. It would be stupid not to _use_ GPL, if
it's offered to us. Interesting candidates are MPlayer (C), transcode (C),
VirtualDub (C++?), ffmpeg (C) and surely others, too.
DAN
* an XVID_ENC_REENCODE function where the current frame is re-encoded with a
different quantizer / frame type / whatever
* dark areas in mpeg-4 look horrible on my tv compared to mpeg-1/2, should
we
have an option to add random AC noise to dark blocks? or is this only a
postprocessing issue?
* a real constant quality mode, where frames are forced to reach a certain
quality measure like psnr, gabriel's code at gabriel.mp3-tech.org, or
whatever
* add a compile time option for (or just enforce outright) the
132-consecutive-inter-blocks rule
* look at the brute-force inter/intra issue again - ffmpeg's hq mode seems
to
save me up to 5% of bitrate on many clips. or is this just due to its ME
making
worse inter/intra choices than ours to start with?
* is it possible to use fdct *itself* as a preprocessor - ffmpeg produces
far
smoother images than xvid's, and fixed-quant encodes show ffmpeg's file size
*way* below ours - i can't see anything that would be doing this apart from
its
fdct. but i don't understand the math of fdct that well. it would at least
be
faster than calling preprocess(block) followed by fdct(block).
-----------------------------------------------------------------------
_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE*
http://join.msn.com/?page=features/virus