TODO 1.5 KB
Newer Older
1 2 3
* plain bugs
	* fix VIS IDCT code (handling of nonprogressive frame pictures)

Michel Lespinasse's avatar
Michel Lespinasse committed
4
* things we dont implement yet
5
	* more verbose error reporting
Michel Lespinasse's avatar
Michel Lespinasse committed
6 7
	* export MC information (for XvMC or for error resilience)
	* export quantizer information (for postprocessing filters)
Michel Lespinasse's avatar
Michel Lespinasse committed
8 9
	* dont crash on bad streams, make sure we can resync after a while
		* possible chunk buffer overflow while reading bits
Michel Lespinasse's avatar
.  
Michel Lespinasse committed
10
	* synchronization stuff (play at correct speed)
11
	* IDCT precision with sparse matrixes
12
	* sparc IDCT optimizations
13
	* support for still pictures (decode before receiving next startcode !)
Michel Lespinasse's avatar
Michel Lespinasse committed
14 15 16 17 18 19 20

* structural optimizations
	* do yuv per sub-slice (probably big speed boost)
	* try different memory arrangements for pictures (yuyv, stride, ...)
	* once we have sync, call draw_frame before decoding I or P not after

* local optimizations
Michel Lespinasse's avatar
.  
Michel Lespinasse committed
21 22
	* put most common fields at start of decoder_t structure
	* fix code that uses multiples of the stride (use preshifted value ?)
23 24
	* avoid 8-bit accesses particularly on alpha
	* use 64-bit shift register for parsing on 64-bit arches
Michel Lespinasse's avatar
Michel Lespinasse committed
25
	* use restrict (__restrict__) pointers: int * restrict p;
Michel Lespinasse's avatar
.  
Michel Lespinasse committed
26
	* try feig IDCT ?
Michel Lespinasse's avatar
Michel Lespinasse committed
27 28 29 30 31 32 33 34 35
	* review the use of static inline functions
	* improve MMX motion comp inner routines
	* optimize IDCT for very sparse input matrixes ?
	* optimize startcode search loop ?
	* bit parsing / DCT parsing optimizations

* clean up
	* clean up header file usage
	* clean up yuv2rgb for interlaced pictures (handling of uv)
Michel Lespinasse's avatar
.  
Michel Lespinasse committed
36
	* clean up decoder_t structure (some variables should be local ?)
37
	* clean up slice_init