-
Notifications
You must be signed in to change notification settings - Fork 10
TODO
Kieran Kunhya edited this page Jul 15, 2014
·
21 revisions
Very rough TODO list. Ask on IRC for more details. #x264dev on freenode
- fix desync with interlaced chroma
- interlaced 4:2:2
- slice-max-mbs
- use lookahead for variable f_code size in inter
- denoise DCT coefficients
- enforce separate mpeg2 sane defaults? 1 second GOP and 2 B frames?
- MV costs assume qpel
- improve B_SKIP detection (currently only used when the zero MV has no residual)
- trellis
- move frame/field decision to lookahead and set alternate_scan and frame_pred_frame_dct accordingly.
- sub8x8_dct_mpeg2 (port the inline version from lavc to YASM)
- add8x8_idct_mpeg2 (port the inline version from lavc to YASM)
- x264_coeff_level_run64
- get_ref_mpeg2
- mc_luma_mpeg2
- dequant_mpeg2_inter
- mc_chroma_mpeg2
- dequant_mpeg2_intra
- zigzag_scan_8x8_field_mpeg2
ASM functions are sorted with the most expensive first.
Run valgrind on x262 in MPEG2 mode and clean up any errors you get.
Example valgrind command:
valgrind --tool=memcheck --leak-check=no --show-reachable=yes --num-callers=20 --track-fds=no --track-origins=yes --dsymutil=yes -v ./x264 --me dia --subme 3 --bframes 1 --bitrate 3500 --vbv-maxrate 3500 --vbv-bufsize 1835 -o /tmp/out.h262 --frames 15 --threads 1 --mpeg2 ~/Vol2/media/football_720x480p.yuv &> /tmp/test.out
- Subme=1/2, 2 errors both caused by the same thing:
- in analyse.c, line 4442, a->l1.me16x16.mv[1] is initialized, can be fixed by adding !MPEG2 to the conditional at 4439 but is this correct?
if( !MPEG2 && h->mb.i_type != P_L0 )
- Subme=3, currently 150 errors