From: Loren Merritt <pengvado@videolan.org> Date: Wed, 5 Jan 2005 07:08:40 +0000 (+0000) Subject: fix: "x264 -A all" didn't include b8x8 types. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0ad06e691819f2a2a05f673b50afe8b676d48f44;p=libx264 fix: "x264 -A all" didn't include b8x8 types. add: "make NDEBUG=1" to strip library update TODO with B-frame status git-svn-id: svn://svn.videolan.org/x264/trunk@84 df754926-b1dd-0310-bc7b-ec298dee348c --- diff --git a/Makefile b/Makefile index 21307528..be7c3ade 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,12 @@ OBJASM= $(ASMSRC:%.asm=%.o) endif CC=gcc -CFLAGS=-g -Wall -I. -DDEBUG -O4 -funroll-loops -D__X264__ $(PFLAGS) +CFLAGS=-Wall -I. -O4 -funroll-loops -D__X264__ $(PFLAGS) +ifdef NDEBUG +CFLAGS+=-s -DNDEBUG +else +CFLAGS+=-g -DDEBUG +endif AS= nasm # for linux diff --git a/TODO b/TODO index dba8846c..2b65446e 100644 --- a/TODO +++ b/TODO @@ -20,16 +20,16 @@ General: * Inter coding: - D_4x8 D_8x4 and D_4x4 ME P block -> done but too slow. - - B_ types. - - scene change detection. + - B_SUB8x8 types. + - better SKIP detection. - long terme ? - ... - * B frame: B_L0/L1/BI work in cavlc (need more testing). - -> need to do all others mb type (first B_DIRECT and B_SKIP) - -> cabac - -> look at weighted prediction (should give bettter result) + * B frame: B_L0/L1/BI/SKIP/DIRECT work (need more testing). + -> adaptive placement of B-frames + -> look at weighted prediction (should give better result) -> better analyse algo (as always ;) + -> joint motion estimation of BI types * Speed issue (oprofile is your friend) - mc.c:30% and pixel.c:20% (mc is used by ME) diff --git a/x264.c b/x264.c index a9ba4906..bd630e55 100644 --- a/x264.c +++ b/x264.c @@ -365,7 +365,7 @@ static int Parse( int argc, char **argv, case 'A': param->analyse.inter = 0; if( strstr( optarg, "none" ) ) param->analyse.inter = 0x000000; - if( strstr( optarg, "all" ) ) param->analyse.inter = X264_ANALYSE_I4x4|X264_ANALYSE_PSUB16x16|X264_ANALYSE_PSUB8x8; + if( strstr( optarg, "all" ) ) param->analyse.inter = X264_ANALYSE_I4x4|X264_ANALYSE_PSUB16x16|X264_ANALYSE_PSUB8x8|X264_ANALYSE_BSUB16x16; if( strstr( optarg, "i4x4" ) ) param->analyse.inter |= X264_ANALYSE_I4x4; if( strstr( optarg, "psub16x16" ) ) param->analyse.inter |= X264_ANALYSE_PSUB16x16; @@ -407,7 +407,7 @@ static int Parse( int argc, char **argv, param->rc.b_stat_write = 1; else if( i_pass == 2 ) param->rc.b_stat_read = 1; - else if( i_pass > 2 ) /* XXX untested */ + else if( i_pass > 2 ) param->rc.b_stat_read = param->rc.b_stat_write = 1; break;