Todo List

Global av_find_stream_info (AVFormatContext *ic)
Let the user decide somehow what information is needed so that we do not waste time getting stuff the user does not need.

Global AVOption2::help
What about other languages?

Global AVOption::help
What about other languages?

Global bitplane_decoding (uint8_t *data, int *raw_flag, VC1Context *v)
FIXME: Optimize

Global decode_colskip (uint8_t *plane, int width, int height, int stride, GetBitContext *gb)
FIXME: Optimize

Global display_end_segment (AVCodecContext *avctx, void *data, const uint8_t *buf, int buf_size)

TODO: Fix start time, relies on correct PTS, currently too late

segment, which is currently ignored as it clears

the subtitle too early.

TODO: Fix end time, normally cleared by a second display

Global eval_lpc_spectrum (const float *lsp, float cos_val, int order)
reuse code from vorbis_dec.c: vorbis_floor0_decode

Global ff_rm_reorder_sipr_data (uint8_t *buf, int sub_packet_h, int framesize)
This can be optimized, e.g. use memcpy() if data blocks are aligned

Global ff_rv34_get_start_offset (GetBitContext *gb, int mb_size)
Maybe replace with ff_h263_decode_mba() ?

Global parse_picture_segment (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
TODO: Enable support for RLE data over multiple packets

Global parse_presentation_segment (AVCodecContext *avctx, const uint8_t *buf, int buf_size)

TODO: Implement cropping

TODO: Implement forcing of subtitles

TODO: Blanking of subtitle

Global readAndTranspose16x6 (src, src_stride, r8, r9, r10, r11, r12, r13)
FIXME: see if we can't spare some vec_lvsl() by them factorizing out of unaligned_load()

Global RTSPState
Use ByteIOContext instead of URLContext

Global rv34_dequant4x4 (DCTELEM *block, int Qdc, int Q)
optimize

Global rv34_dequant4x4_16x16 (DCTELEM *block, int Qdc, int Q)
optimize

Global rv34_dquant_tab [2][32]
Use with modified_quant_tab from h263data.h.

Global rv34_mb_bits_sizes [6]
This is the same as ff_mba_length, maybe use it instead.

Global rv34_mb_max_sizes [6]
This is the same as ff_mba_max, maybe use it instead.

Group VC-1 VLC tables and defines
TODO move this into the context

Group VC-1 VLC tables and defines
TODO move this into the context

Global vc1_decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
TODO: Handle VC-1 IDUs (Transport level?)

Global vc1_decode_init (AVCodecContext *avctx)

TODO: Handle VC-1 IDUs (Transport level?)

TODO: Decypher remaining bits in extra_data

Global VC1Context
Change size wherever another size is more efficient Many members are only used for Advanced Profile

Global wma_lsp_to_curve (WMACodecContext *s, float *out, float *val_max_ptr, int n, float *lsp)
optimize it further with SSE/3Dnow