[x264-devel] speed & time
mm1201 at mail.ustc.edu.cn
mm1201 at mail.ustc.edu.cn
Fri Nov 14 03:19:00 CET 2014
Thanks for help,I hava solved it with "x264_param_default_preset()"
> -----原始邮件-----
> 发件人: x264-devel-request at videolan.org
> 发送时间: 2014-11-13 22:42:33 (星期四)
> 收件人: x264-devel at videolan.org
> 抄送:
> 主题: x264-devel Digest, Vol 90, Issue 10
>
> Send x264-devel mailing list submissions to
> x264-devel at videolan.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://mailman.videolan.org/listinfo/x264-devel
> or, via email, send a message with subject or body 'help' to
> x264-devel-request at videolan.org
>
> You can reach the person managing the list at
> x264-devel-owner at videolan.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of x264-devel digest..."
>
>
> Today's Topics:
>
> 1. speed & time (mm1201 at mail.ustc.edu.cn)
> 2. Re: speed & time (James Darnley)
> 3. Re: x264_encoder_encode too slow (mm1201 at mail.ustc.edu.cn)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Thu, 13 Nov 2014 21:31:51 +0800 (GMT+08:00)
> From: mm1201 at mail.ustc.edu.cn
> To: x264-devel <x264-devel at videolan.org>
> Subject: [x264-devel] speed & time
> Message-ID:
> <4356e136.211a0.149a95a5a57.Coremail.mm1201 at mail.ustc.edu.cn>
> Content-Type: text/plain; charset="utf-8"
>
> How fast can your program run?In mine,it cost nearly 2s to encode one frame.Is that normal?I'm confused,someone help me out.
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20141113/7da03606/attachment-0001.html>
>
> ------------------------------
>
> Message: 2
> Date: Thu, 13 Nov 2014 14:44:06 +0100
> From: James Darnley <james.darnley at gmail.com>
> To: Mailing list for x264 developers <x264-devel at videolan.org>
> Subject: Re: [x264-devel] speed & time
> Message-ID: <5464B5A6.7080600 at gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> On 2014-11-13 14:31, mm1201 at mail.ustc.edu.cn wrote:
> > How fast can your program run?In mine,it cost nearly 2s to encode one
> > frame.Is that normal?I'm confused,someone help me out.
>
> Usually, 2 seconds per frame is not normal. However x264 can run from
> blazingly fast to molasses slow depends on your settings, hardware, and
> video input. You have told use nothing about any of these three.
>
> Are you on x86? Did you compile with assembly? Did you compile with
> threads? What sort of video are you encoding? What settings are you using?
>
>
>
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: signature.asc
> Type: application/pgp-signature
> Size: 603 bytes
> Desc: OpenPGP digital signature
> URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20141113/5d868289/attachment-0001.sig>
>
> ------------------------------
>
> Message: 3
> Date: Thu, 13 Nov 2014 22:42:22 +0800 (GMT+08:00)
> From: mm1201 at mail.ustc.edu.cn
> To: x264-devel at videolan.org
> Subject: Re: [x264-devel] x264_encoder_encode too slow
> Message-ID:
> <5c10d5b3.21597.149a99ae8f5.Coremail.mm1201 at mail.ustc.edu.cn>
> Content-Type: text/plain; charset=UTF-8
>
>
> It works,thank you a lot,interesting!
>
> > -----????-----
> > ???: x264-devel-request at videolan.org
> > ????: 2014-11-13 20:52:05 (???)
> > ???: x264-devel at videolan.org
> > ??:
> > ??: x264-devel Digest, Vol 90, Issue 8
> >
> > Send x264-devel mailing list submissions to
> > x264-devel at videolan.org
> >
> > To subscribe or unsubscribe via the World Wide Web, visit
> > https://mailman.videolan.org/listinfo/x264-devel
> > or, via email, send a message with subject or body 'help' to
> > x264-devel-request at videolan.org
> >
> > You can reach the person managing the list at
> > x264-devel-owner at videolan.org
> >
> > When replying, please edit your Subject line so it is more specific
> > than "Re: Contents of x264-devel digest..."
> >
> >
> > Today's Topics:
> >
> > 1. Re: x264_encoder_encode too slow (Daniel Tisch)
> > 2. Fix VBV (Anton Mitrofanov)
> > 3. Fix VBV with true VFR streams (Anton Mitrofanov)
> > 4. Fix inappropriate instruction use (Anton Mitrofanov)
> > 5. x264asm: warn when inappropriate instruction used in function
> > with specified cpuflags (Anton Mitrofanov)
> > 6. Fix few clang -Wunused-* warnings (Anton Mitrofanov)
> >
> >
> > ----------------------------------------------------------------------
> >
> > Message: 1
> > Date: Thu, 13 Nov 2014 12:45:31 +0100
> > From: Daniel Tisch <tisch.daniel at gmail.com>
> > To: Mailing list for x264 developers <x264-devel at videolan.org>
> > Subject: Re: [x264-devel] x264_encoder_encode too slow
> > Message-ID:
> > <CA+mv---31KCoT6nh3y6C0f2uftQuK6qjkrEuifkMsCZmbUct0w at mail.gmail.com>
> > Content-Type: text/plain; charset="utf-8"
> >
> > H.264 encoding can be *VERY* slow depending on your settings, source
> > resolution and CPU. Try using presets "ultrafast", "superfast", "veryfast",
> > "faster" or "fast" (in decreasing encoding speed) with
> > x264_param_default_preset (instead of x264_param_default)!
> >
> >
> > Good luck! ;)
> >
> > Cheers,
> >
> > Daniel
> >
> >
> > 2014.11.13. 9:27 ezt ?rta ( <mm1201 at mail.ustc.edu.cn>):
> >
> > > i call x264_encoder_encoed() in my code,and it works,but the problem is
> > > that it runs slow,costs about 2 seconds,i don't know why.Is there anynoe
> > > who ever ran into this,or knows what could cause this?
> > > _______________________________________________
> > > x264-devel mailing list
> > > x264-devel at videolan.org
> > > https://mailman.videolan.org/listinfo/x264-devel
> > >
> > >
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> > URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20141113/8577e375/attachment-0001.html>
> >
> > ------------------------------
> >
> > Message: 2
> > Date: Thu, 13 Nov 2014 13:52:02 +0100 (CET)
> > From: git at videolan.org (Anton Mitrofanov)
> > To: x264-devel at videolan.org
> > Subject: [x264-devel] Fix VBV
> > Message-ID: <20141113125202.C8FC9151F6F at albiero.videolan.org>
> > Content-Type: text/plain; charset=UTF-8
> >
> > x264 | branch: master | Anton Mitrofanov <BugMaster at narod.ru> | Mon Sep 1 22:45:00 2014 +0400| [b36d44c68cddff00c5b6de1e6cb6a86c1af2cbfc] | committer: Fiona Glaser
> >
> > Fix VBV
> >
> > > http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=b36d44c68cddff00c5b6de1e6cb6a86c1af2cbfc
> > ---
> >
> > encoder/ratecontrol.c | 27 ++++++++++++++++-----------
> > 1 file changed, 16 insertions(+), 11 deletions(-)
> >
> > diff --git a/encoder/ratecontrol.c b/encoder/ratecontrol.c
> > index f71eb5f..8893c1f 100644
> > --- a/encoder/ratecontrol.c
> > +++ b/encoder/ratecontrol.c
> > @@ -2255,32 +2255,31 @@ static double clip_qscale( x264_t *h, int pict_type, double q )
> > /* Now a hard threshold to make sure the frame fits in VBV.
> > * This one is mostly for I-frames. */
> > double bits = predict_size( &rcc->pred[h->sh.i_type], q, rcc->last_satd );
> > - double qf = 1.0;
> > /* For small VBVs, allow the frame to use up the entire VBV. */
> > double max_fill_factor = h->param.rc.i_vbv_buffer_size >= 5*h->param.rc.i_vbv_max_bitrate / rcc->fps ? 2 : 1;
> > /* For single-frame VBVs, request that the frame use up the entire VBV. */
> > double min_fill_factor = rcc->single_frame_vbv ? 1 : 2;
> >
> > if( bits > rcc->buffer_fill/max_fill_factor )
> > - qf = x264_clip3f( rcc->buffer_fill/(max_fill_factor*bits), 0.2, 1.0 );
> > - q /= qf;
> > - bits *= qf;
> > + {
> > + double qf = x264_clip3f( rcc->buffer_fill/(max_fill_factor*bits), 0.2, 1.0 );
> > + q /= qf;
> > + bits *= qf;
> > + }
> > if( bits < rcc->buffer_rate/min_fill_factor )
> > - q *= bits*min_fill_factor/rcc->buffer_rate;
> > + {
> > + double qf = x264_clip3f( bits*min_fill_factor/rcc->buffer_rate, 0.001, 1.0 );
> > + q *= qf;
> > + }
> > q = X264_MAX( q0, q );
> > }
> >
> > - /* Apply MinCR restrictions */
> > - double bits = predict_size( &rcc->pred[h->sh.i_type], q, rcc->last_satd );
> > - if( bits > rcc->frame_size_maximum )
> > - q *= bits / rcc->frame_size_maximum;
> > - bits = predict_size( &rcc->pred[h->sh.i_type], q, rcc->last_satd );
> > -
> > /* Check B-frame complexity, and use up any bits that would
> > * overflow before the next P-frame. */
> > if( h->sh.i_type == SLICE_TYPE_P && !rcc->single_frame_vbv )
> > {
> > int nb = rcc->bframes;
> > + double bits = predict_size( &rcc->pred[h->sh.i_type], q, rcc->last_satd );
> > double pbbits = bits;
> > double bbits = predict_size( rcc->pred_b_from_p, q * h->param.rc.f_pb_factor, rcc->last_satd );
> > double space;
> > @@ -2302,6 +2301,12 @@ static double clip_qscale( x264_t *h, int pict_type, double q )
> > q = X264_MAX( q0/2, q );
> > }
> >
> > + /* Apply MinCR and buffer fill restrictions */
> > + double bits = predict_size( &rcc->pred[h->sh.i_type], q, rcc->last_satd );
> > + double frame_size_maximum = X264_MIN( rcc->frame_size_maximum, X264_MAX( rcc->buffer_fill, 0.001 ) );
> > + if( bits > frame_size_maximum )
> > + q *= bits / frame_size_maximum;
> > +
> > if( !rcc->b_vbv_min_rate )
> > q = X264_MAX( q0, q );
> > }
> >
> >
> >
> > ------------------------------
> >
> > Message: 3
> > Date: Thu, 13 Nov 2014 13:52:02 +0100 (CET)
> > From: git at videolan.org (Anton Mitrofanov)
> > To: x264-devel at videolan.org
> > Subject: [x264-devel] Fix VBV with true VFR streams
> > Message-ID: <20141113125202.DF804151DC1 at albiero.videolan.org>
> > Content-Type: text/plain; charset=UTF-8
> >
> > x264 | branch: master | Anton Mitrofanov <BugMaster at narod.ru> | Tue Sep 2 01:48:00 2014 +0400| [204a9bd0a1bc507cbd69a77f3318afcb56ede65d] | committer: Fiona Glaser
> >
> > Fix VBV with true VFR streams
> >
> > > http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=204a9bd0a1bc507cbd69a77f3318afcb56ede65d
> > ---
> >
> > encoder/ratecontrol.c | 12 ++++++++----
> > encoder/slicetype.c | 5 +----
> > 2 files changed, 9 insertions(+), 8 deletions(-)
> >
> > diff --git a/encoder/ratecontrol.c b/encoder/ratecontrol.c
> > index 8893c1f..86aad96 100644
> > --- a/encoder/ratecontrol.c
> > +++ b/encoder/ratecontrol.c
> > @@ -2191,6 +2191,8 @@ static double clip_qscale( x264_t *h, int pict_type, double q )
> >
> > if( rcc->b_vbv && rcc->last_satd > 0 )
> > {
> > + double fenc_cpb_duration = (double)h->fenc->i_cpb_duration *
> > + h->sps->vui.i_num_units_in_tick / h->sps->vui.i_time_scale;
> > /* Lookahead VBV: raise the quantizer as necessary such that no frames in
> > * the lookahead overflow and such that the buffer is in a reasonable state
> > * by the end of the lookahead. */
> > @@ -2206,6 +2208,7 @@ static double clip_qscale( x264_t *h, int pict_type, double q )
> > double buffer_fill_cur = rcc->buffer_fill - cur_bits;
> > double target_fill;
> > double total_duration = 0;
> > + double last_duration = fenc_cpb_duration;
> > frame_q[0] = h->sh.i_type == SLICE_TYPE_I ? q * h->param.rc.f_ip_factor : q;
> > frame_q[1] = frame_q[0] * h->param.rc.f_pb_factor;
> > frame_q[2] = frame_q[0] / h->param.rc.f_ip_factor;
> > @@ -2213,8 +2216,8 @@ static double clip_qscale( x264_t *h, int pict_type, double q )
> > /* Loop over the planned future frames. */
> > for( int j = 0; buffer_fill_cur >= 0 && buffer_fill_cur <= rcc->buffer_size; j++ )
> > {
> > - total_duration += h->fenc->f_planned_cpb_duration[j];
> > - buffer_fill_cur += rcc->vbv_max_rate * h->fenc->f_planned_cpb_duration[j];
> > + total_duration += last_duration;
> > + buffer_fill_cur += rcc->vbv_max_rate * last_duration;
> > int i_type = h->fenc->i_planned_type[j];
> > int i_satd = h->fenc->i_planned_satd[j];
> > if( i_type == X264_TYPE_AUTO )
> > @@ -2222,6 +2225,7 @@ static double clip_qscale( x264_t *h, int pict_type, double q )
> > i_type = IS_X264_TYPE_I( i_type ) ? SLICE_TYPE_I : IS_X264_TYPE_B( i_type ) ? SLICE_TYPE_B : SLICE_TYPE_P;
> > cur_bits = predict_size( &rcc->pred[i_type], frame_q[i_type], i_satd );
> > buffer_fill_cur -= cur_bits;
> > + last_duration = h->fenc->f_planned_cpb_duration[j];
> > }
> > /* Try to get to get the buffer at least 50% filled, but don't set an impossible goal. */
> > target_fill = X264_MIN( rcc->buffer_fill + total_duration * rcc->vbv_max_rate * 0.5, rcc->buffer_size * 0.5 );
> > @@ -2286,13 +2290,13 @@ static double clip_qscale( x264_t *h, int pict_type, double q )
> > double bframe_cpb_duration = 0;
> > double minigop_cpb_duration;
> > for( int i = 0; i < nb; i++ )
> > - bframe_cpb_duration += h->fenc->f_planned_cpb_duration[1+i];
> > + bframe_cpb_duration += h->fenc->f_planned_cpb_duration[i];
> >
> > if( bbits * nb > bframe_cpb_duration * rcc->vbv_max_rate )
> > nb = 0;
> > pbbits += nb * bbits;
> >
> > - minigop_cpb_duration = bframe_cpb_duration + h->fenc->f_planned_cpb_duration[0];
> > + minigop_cpb_duration = bframe_cpb_duration + fenc_cpb_duration;
> > space = rcc->buffer_fill + minigop_cpb_duration*rcc->vbv_max_rate - rcc->buffer_size;
> > if( pbbits < space )
> > {
> > diff --git a/encoder/slicetype.c b/encoder/slicetype.c
> > index 0f4d831..dd5e318 100644
> > --- a/encoder/slicetype.c
> > +++ b/encoder/slicetype.c
> > @@ -1853,14 +1853,11 @@ void x264_slicetype_decide( x264_t *h )
> > if( i )
> > {
> > x264_calculate_durations( h, h->lookahead->next.list[i], h->lookahead->next.list[i-1], &h->i_cpb_delay, &h->i_coded_fields );
> > - h->lookahead->next.list[0]->f_planned_cpb_duration[i-1] = (double)h->lookahead->next.list[i-1]->i_cpb_duration *
> > + h->lookahead->next.list[0]->f_planned_cpb_duration[i-1] = (double)h->lookahead->next.list[i]->i_cpb_duration *
> > h->sps->vui.i_num_units_in_tick / h->sps->vui.i_time_scale;
> > }
> > else
> > x264_calculate_durations( h, h->lookahead->next.list[i], NULL, &h->i_cpb_delay, &h->i_coded_fields );
> > -
> > - h->lookahead->next.list[0]->f_planned_cpb_duration[i] = (double)h->lookahead->next.list[i]->i_cpb_duration *
> > - h->sps->vui.i_num_units_in_tick / h->sps->vui.i_time_scale;
> > }
> > }
> >
> >
> >
> >
> > ------------------------------
> >
> > Message: 4
> > Date: Thu, 13 Nov 2014 13:52:03 +0100 (CET)
> > From: git at videolan.org (Anton Mitrofanov)
> > To: x264-devel at videolan.org
> > Subject: [x264-devel] Fix inappropriate instruction use
> > Message-ID: <20141113125203.366EF1527EE at albiero.videolan.org>
> > Content-Type: text/plain; charset=UTF-8
> >
> > x264 | branch: master | Anton Mitrofanov <BugMaster at narod.ru> | Thu Aug 28 20:13:13 2014 +0400| [9df377f87702c82a2202d34919c07e32c60b40ae] | committer: Fiona Glaser
> >
> > Fix inappropriate instruction use
> >
> > > http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=9df377f87702c82a2202d34919c07e32c60b40ae
> > ---
> >
> > common/dct.c | 2 +-
> > common/quant.c | 4 ++--
> > common/x86/dct-a.asm | 2 +-
> > common/x86/dct.h | 2 +-
> > common/x86/pixel-a.asm | 2 +-
> > common/x86/quant-a.asm | 2 +-
> > common/x86/quant.h | 4 ++--
> > 7 files changed, 9 insertions(+), 9 deletions(-)
> >
> > diff --git a/common/dct.c b/common/dct.c
> > index f5900ef..08f4e89 100644
> > --- a/common/dct.c
> > +++ b/common/dct.c
> > @@ -611,7 +611,6 @@ void x264_dct_init( int cpu, x264_dct_function_t *dctf )
> > {
> > dctf->sub4x4_dct = x264_sub4x4_dct_mmx;
> > dctf->add4x4_idct = x264_add4x4_idct_mmx;
> > - dctf->dct4x4dc = x264_dct4x4dc_mmx;
> > dctf->idct4x4dc = x264_idct4x4dc_mmx;
> > dctf->sub8x8_dct_dc = x264_sub8x8_dct_dc_mmx2;
> >
> > @@ -630,6 +629,7 @@ void x264_dct_init( int cpu, x264_dct_function_t *dctf )
> >
> > if( cpu&X264_CPU_MMX2 )
> > {
> > + dctf->dct4x4dc = x264_dct4x4dc_mmx2;
> > dctf->add8x8_idct_dc = x264_add8x8_idct_dc_mmx2;
> > dctf->add16x16_idct_dc = x264_add16x16_idct_dc_mmx2;
> > }
> > diff --git a/common/quant.c b/common/quant.c
> > index d7b6911..31d8901 100644
> > --- a/common/quant.c
> > +++ b/common/quant.c
> > @@ -558,8 +558,6 @@ void x264_quant_init( x264_t *h, int cpu, x264_quant_function_t *pf )
> > if( cpu&X264_CPU_MMX )
> > {
> > #if ARCH_X86
> > - pf->quant_4x4 = x264_quant_4x4_mmx;
> > - pf->quant_8x8 = x264_quant_8x8_mmx;
> > pf->dequant_4x4 = x264_dequant_4x4_mmx;
> > pf->dequant_4x4_dc = x264_dequant_4x4dc_mmx2;
> > pf->dequant_8x8 = x264_dequant_8x8_mmx;
> > @@ -576,6 +574,8 @@ void x264_quant_init( x264_t *h, int cpu, x264_quant_function_t *pf )
> > {
> > pf->quant_2x2_dc = x264_quant_2x2_dc_mmx2;
> > #if ARCH_X86
> > + pf->quant_4x4 = x264_quant_4x4_mmx2;
> > + pf->quant_8x8 = x264_quant_8x8_mmx2;
> > pf->quant_4x4_dc = x264_quant_4x4_dc_mmx2;
> > pf->decimate_score15 = x264_decimate_score15_mmx2;
> > pf->decimate_score16 = x264_decimate_score16_mmx2;
> > diff --git a/common/x86/dct-a.asm b/common/x86/dct-a.asm
> > index 4376e36..bc82ff6 100644
> > --- a/common/x86/dct-a.asm
> > +++ b/common/x86/dct-a.asm
> > @@ -143,7 +143,7 @@ INIT_XMM avx
> > DCT4x4_DC
> > %else
> >
> > -INIT_MMX mmx
> > +INIT_MMX mmx2
> > cglobal dct4x4dc, 1,1
> > movq m3, [r0+24]
> > movq m2, [r0+16]
> > diff --git a/common/x86/dct.h b/common/x86/dct.h
> > index 337a632..f22a979 100644
> > --- a/common/x86/dct.h
> > +++ b/common/x86/dct.h
> > @@ -70,7 +70,7 @@ void x264_add8x8_idct_dc_avx ( pixel *p_dst, dctcoef dct [ 4] );
> > void x264_add16x16_idct_dc_avx ( pixel *p_dst, dctcoef dct [16] );
> > void x264_add16x16_idct_dc_avx2 ( uint8_t *p_dst, int16_t dct [16] );
> >
> > -void x264_dct4x4dc_mmx ( int16_t d[16] );
> > +void x264_dct4x4dc_mmx2 ( int16_t d[16] );
> > void x264_dct4x4dc_sse2 ( int32_t d[16] );
> > void x264_dct4x4dc_avx ( int32_t d[16] );
> > void x264_idct4x4dc_mmx ( int16_t d[16] );
> > diff --git a/common/x86/pixel-a.asm b/common/x86/pixel-a.asm
> > index 262c537..f5f6a82 100644
> > --- a/common/x86/pixel-a.asm
> > +++ b/common/x86/pixel-a.asm
> > @@ -1600,7 +1600,7 @@ cglobal pixel_satd_4x4, 4,6
> > %macro SATDS_SSE2 0
> > %define vertical ((notcpuflag(ssse3) || cpuflag(atom)) || HIGH_BIT_DEPTH)
> >
> > -%if vertical==0 || HIGH_BIT_DEPTH
> > +%if cpuflag(ssse3) && (vertical==0 || HIGH_BIT_DEPTH)
> > cglobal pixel_satd_4x4, 4, 6, 6
> > SATD_START_MMX
> > mova m4, [hmul_4p]
> > diff --git a/common/x86/quant-a.asm b/common/x86/quant-a.asm
> > index fb588d3..731f7d1 100644
> > --- a/common/x86/quant-a.asm
> > +++ b/common/x86/quant-a.asm
> > @@ -453,7 +453,7 @@ INIT_MMX mmx2
> > QUANT_DC quant_2x2_dc, 1
> > %if ARCH_X86_64 == 0 ; not needed because sse2 is faster
> > QUANT_DC quant_4x4_dc, 4
> > -INIT_MMX mmx
> > +INIT_MMX mmx2
> > QUANT_AC quant_4x4, 4
> > QUANT_AC quant_8x8, 16
> > %endif
> > diff --git a/common/x86/quant.h b/common/x86/quant.h
> > index 1fcb800..c6a8a9b 100644
> > --- a/common/x86/quant.h
> > +++ b/common/x86/quant.h
> > @@ -30,8 +30,8 @@
> >
> > int x264_quant_2x2_dc_mmx2( dctcoef dct[4], int mf, int bias );
> > int x264_quant_4x4_dc_mmx2( dctcoef dct[16], int mf, int bias );
> > -int x264_quant_4x4_mmx( dctcoef dct[16], udctcoef mf[16], udctcoef bias[16] );
> > -int x264_quant_8x8_mmx( dctcoef dct[64], udctcoef mf[64], udctcoef bias[64] );
> > +int x264_quant_4x4_mmx2( dctcoef dct[16], udctcoef mf[16], udctcoef bias[16] );
> > +int x264_quant_8x8_mmx2( dctcoef dct[64], udctcoef mf[64], udctcoef bias[64] );
> > int x264_quant_2x2_dc_sse2( dctcoef dct[16], int mf, int bias );
> > int x264_quant_4x4_dc_sse2( dctcoef dct[16], int mf, int bias );
> > int x264_quant_4x4_sse2( dctcoef dct[16], udctcoef mf[16], udctcoef bias[16] );
> >
> >
> >
> > ------------------------------
> >
> > Message: 5
> > Date: Thu, 13 Nov 2014 13:52:02 +0100 (CET)
> > From: git at videolan.org (Anton Mitrofanov)
> > To: x264-devel at videolan.org
> > Subject: [x264-devel] x264asm: warn when inappropriate instruction
> > used in function with specified cpuflags
> > Message-ID: <20141113125203.02ECB152262 at albiero.videolan.org>
> > Content-Type: text/plain; charset=UTF-8
> >
> > x264 | branch: master | Anton Mitrofanov <BugMaster at narod.ru> | Thu Aug 28 18:38:53 2014 +0400| [73b8686fc22c9247d90963983d406cd7b9131068] | committer: Fiona Glaser
> >
> > x264asm: warn when inappropriate instruction used in function with specified cpuflags
> >
> > > http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=73b8686fc22c9247d90963983d406cd7b9131068
> > ---
> >
> > common/x86/x86inc.asm | 581 +++++++++++++++++++++++++------------------------
> > 1 file changed, 295 insertions(+), 286 deletions(-)
> >
> > Diff: http://git.videolan.org/gitweb.cgi/x264.git/?a=commitdiff;h=73b8686fc22c9247d90963983d406cd7b9131068
> >
> >
> > ------------------------------
> >
> > Message: 6
> > Date: Thu, 13 Nov 2014 13:52:03 +0100 (CET)
> > From: git at videolan.org (Anton Mitrofanov)
> > To: x264-devel at videolan.org
> > Subject: [x264-devel] Fix few clang -Wunused-* warnings
> > Message-ID: <20141113125203.5959D151DC1 at albiero.videolan.org>
> > Content-Type: text/plain; charset=UTF-8
> >
> > x264 | branch: master | Anton Mitrofanov <BugMaster at narod.ru> | Fri Sep 5 19:30:47 2014 +0400| [01204b60367f4959e8393652dd30f0cfba2d2c80] | committer: Fiona Glaser
> >
> > Fix few clang -Wunused-* warnings
> >
> > > http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=01204b60367f4959e8393652dd30f0cfba2d2c80
> > ---
> >
> > common/x86/predict-c.c | 5 +++++
> > encoder/cavlc.c | 2 ++
> > 2 files changed, 7 insertions(+)
> >
> > diff --git a/common/x86/predict-c.c b/common/x86/predict-c.c
> > index 086c45d..0c668fa 100644
> > --- a/common/x86/predict-c.c
> > +++ b/common/x86/predict-c.c
> > @@ -65,12 +65,17 @@ PREDICT_16x16_DC_LEFT( avx2 )
> > H += i * ( src[j+i - FDEC_STRIDE ] - src[j-i - FDEC_STRIDE ] );\
> > V += i * ( src[(j+i)*FDEC_STRIDE -1] - src[(j-i)*FDEC_STRIDE -1] );
> >
> > +#if HAVE_X86_INLINE_ASM
> > +#if HIGH_BIT_DEPTH
> > ALIGNED_16( static const int16_t pw_12345678[8] ) = {1,2,3,4,5,6,7,8};
> > ALIGNED_16( static const int16_t pw_m87654321[8] ) = {-8,-7,-6,-5,-4,-3,-2,-1};
> > ALIGNED_16( static const int16_t pw_m32101234[8] ) = {-3,-2,-1,0,1,2,3,4};
> > +#else // !HIGH_BIT_DEPTH
> > ALIGNED_8( static const int8_t pb_12345678[8] ) = {1,2,3,4,5,6,7,8};
> > ALIGNED_8( static const int8_t pb_m87654321[8] ) = {-8,-7,-6,-5,-4,-3,-2,-1};
> > ALIGNED_8( static const int8_t pb_m32101234[8] ) = {-3,-2,-1,0,1,2,3,4};
> > +#endif // HIGH_BIT_DEPTH
> > +#endif // HAVE_X86_INLINE_ASM
> >
> > #define PREDICT_16x16_P_CORE\
> > int H = 0;\
> > diff --git a/encoder/cavlc.c b/encoder/cavlc.c
> > index 5d826ff..1d393fd 100644
> > --- a/encoder/cavlc.c
> > +++ b/encoder/cavlc.c
> > @@ -289,6 +289,7 @@ static ALWAYS_INLINE void x264_cavlc_macroblock_luma_residual( x264_t *h, int pl
> > x264_cavlc_block_residual( h, DCT_LUMA_4x4, i4+i8*4+p*16, h->dct.luma4x4[i4+i8*4+p*16] );
> > }
> >
> > +#if RDO_SKIP_BS
> > static ALWAYS_INLINE void x264_cavlc_partition_luma_residual( x264_t *h, int i8, int p )
> > {
> > if( h->mb.b_transform_8x8 && h->mb.cache.non_zero_count[x264_scan8[i8*4]] )
> > @@ -299,6 +300,7 @@ static ALWAYS_INLINE void x264_cavlc_partition_luma_residual( x264_t *h, int i8,
> > for( int i4 = 0; i4 < 4; i4++ )
> > x264_cavlc_block_residual( h, DCT_LUMA_4x4, i4+i8*4+p*16, h->dct.luma4x4[i4+i8*4+p*16] );
> > }
> > +#endif
> >
> > static void x264_cavlc_mb_header_i( x264_t *h, int i_mb_type, int i_mb_i_offset, int chroma )
> > {
> >
> >
> >
> > ------------------------------
> >
> > Subject: Digest Footer
> >
> > _______________________________________________
> > x264-devel mailing list
> > x264-devel at videolan.org
> > https://mailman.videolan.org/listinfo/x264-devel
> >
> >
> > ------------------------------
> >
> > End of x264-devel Digest, Vol 90, Issue 8
> > *****************************************
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> x264-devel mailing list
> x264-devel at videolan.org
> https://mailman.videolan.org/listinfo/x264-devel
>
>
> ------------------------------
>
> End of x264-devel Digest, Vol 90, Issue 10
> ******************************************
More information about the x264-devel
mailing list