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.

Let the user decide somehow what information is needed so that we do not waste time getting stuff the user does not need.

Global avformat_find_stream_info (AVFormatContext *ic, AVDictionary **options)

Let the user decide somehow what information is needed so that we do not waste time getting stuff the user does not need.

Let the user decide somehow what information is needed so that we do not waste time getting stuff the user does not need.

Global AVOption::help

What about other languages?

What about other languages?

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 dither [8][8]

try to change to int

try lifting based implementation

optimize optimize optimize

hard tresholding

use QP to decide filter strength

wavelet normalization / least squares optimal signal vs.

Global eval_lpc_spectrum (const float *lsp, float cos_val, int order)
reuse code from Vorbis decoder: 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 blocks)
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

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 AVIOContext 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

File vsrc_movie.c

use direct rendering (no allocation of a new frame)

support a PTS correction mechanism

support more than one output stream

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