- Global av_samples_alloc (uint8_t **audio_data, int *linesize, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align)
- return the size of the allocated buffer in case of success at the next bump
- Global av_samples_fill_arrays (uint8_t **audio_data, int *linesize, const uint8_t *buf, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align)
- return minimum size in bytes required for the buffer in case of success at the next bump
- Global avcodec_fill_audio_frame (AVFrame *frame, int nb_channels, enum AVSampleFormat sample_fmt, const uint8_t *buf, int buf_size, int align)
- return the size in bytes required to store the samples in case of success, at the next libavutil bump
- 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.
- 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 decoder: vorbis_floor0_decode
- File f_ebur128.c
True Peak
implement start/stop/reset through filter command injection
support other frequencies to avoid resampling
- Global ff_rv34_get_start_offset (GetBitContext *gb, int blocks)
- Maybe replace with ff_h263_decode_mba() ?
- Global ff_rv34_get_start_offset (GetBitContext *gb, int blocks)
- Maybe replace with ff_h263_decode_mba() ?
- File jacosubdec.c
- Support P[ALETTE] directive.
- File libmodplug.c
- better probing than extensions matching
- Class OWDenoiseContext
try to change to int
try lifting based implementation
optimize optimize optimize
hard thresholding
use QP to decide filter strength
wavelet normalization / least squares optimal signal vs. noise thresholds
- 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, int64_t pts)
- TODO: Implement cropping
- Class RTSPState
- Use AVIOContext instead of URLContext
- Global rv34_dquant_tab [2][32]
- Use with ff_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.
- File src_movie.c
use direct rendering (no allocation of a new frame)
support a PTS correction mechanism
- 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 *got_frame, 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
- Class VC1Context
- Change size wherever another size is more efficient Many members are only used for Advanced Profile
- File webvttdec.c
- need to support extended markups and cue settings
- Global wma_lsp_to_curve (WMACodecContext *s, float *out, float *val_max_ptr, int n, float *lsp)
- optimize it further with SSE/3Dnow