Hi,

On Wed, Aug 17, 2011 at 9:51 AM, Diego Biurrun <di...@biurrun.de> wrote:
> On Tue, Aug 16, 2011 at 05:40:56PM -0700, Ronald S. Bultje wrote:
>> On Tue, Aug 16, 2011 at 8:05 AM, Diego Biurrun <di...@biurrun.de> wrote:
>> > -        h->pred8x8[DC_PRED8x8     ]= FUNCC(pred8x8_dc                     
>> > , depth);\
>> > -        h->pred8x8[LEFT_DC_PRED8x8]= FUNCC(pred8x8_left_dc                
>> > , depth);\
>> > -        h->pred8x8[TOP_DC_PRED8x8 ]= FUNCC(pred8x8_top_dc                 
>> > , depth);\
>> > -        h->pred8x8[ALZHEIMER_DC_L0T_PRED8x8 ]= 
>> > FUNC(pred8x8_mad_cow_dc_l0t, depth);\
>> > -        h->pred8x8[ALZHEIMER_DC_0LT_PRED8x8 ]= 
>> > FUNC(pred8x8_mad_cow_dc_0lt, depth);\
>> > -        h->pred8x8[ALZHEIMER_DC_L00_PRED8x8 ]= 
>> > FUNC(pred8x8_mad_cow_dc_l00, depth);\
>> > -        h->pred8x8[ALZHEIMER_DC_0L0_PRED8x8 ]= 
>> > FUNC(pred8x8_mad_cow_dc_0l0, depth);\
>> > +        if (chroma_format_idc == 1) {\
>> > +            h->pred8x8[DC_PRED8x8     ]= FUNCC(pred8x8_dc                 
>> >     , depth);\
>> > +            h->pred8x8[LEFT_DC_PRED8x8]= FUNCC(pred8x8_left_dc            
>> >     , depth);\
>> > +            h->pred8x8[TOP_DC_PRED8x8 ]= FUNCC(pred8x8_top_dc             
>> >     , depth);\
>> > +            h->pred8x8[ALZHEIMER_DC_L0T_PRED8x8 ]= 
>> > FUNC(pred8x8_mad_cow_dc_l0t, depth);\
>> > +            h->pred8x8[ALZHEIMER_DC_0LT_PRED8x8 ]= 
>> > FUNC(pred8x8_mad_cow_dc_0lt, depth);\
>> > +            h->pred8x8[ALZHEIMER_DC_L00_PRED8x8 ]= 
>> > FUNC(pred8x8_mad_cow_dc_l00, depth);\
>> > +            h->pred8x8[ALZHEIMER_DC_0L0_PRED8x8 ]= 
>> > FUNC(pred8x8_mad_cow_dc_0l0, depth);\
>> > +        } else {\
>> > +            h->pred8x8[DC_PRED8x8     ]= FUNCC(pred8x16_dc                
>> >     , depth);\
>> > +            h->pred8x8[LEFT_DC_PRED8x8]= FUNCC(pred8x16_left_dc           
>> >     , depth);\
>> > +            h->pred8x8[TOP_DC_PRED8x8 ]= FUNCC(pred8x16_top_dc            
>> >     , depth);\
>> > +            h->pred8x8[ALZHEIMER_DC_L0T_PRED8x8 ]= 
>> > FUNC(pred8x8_mad_cow_dc_l0t, depth);\
>> > +            h->pred8x8[ALZHEIMER_DC_0LT_PRED8x8 ]= 
>> > FUNC(pred8x8_mad_cow_dc_0lt, depth);\
>> > +            h->pred8x8[ALZHEIMER_DC_L00_PRED8x8 ]= 
>> > FUNC(pred8x8_mad_cow_dc_l00, depth);\
>> > +            h->pred8x8[ALZHEIMER_DC_0L0_PRED8x8 ]= 
>> > FUNC(pred8x8_mad_cow_dc_0l0, depth);\
>> > +        }\
>>
>> Typo? The last 4 should be 8x16, not 8x8.
>
> There is no such function.

That's because there isn't a single 8x16 function right now. They have
to be written, e.g. this patch writes the one referenced above.

>> I believe the neon code misses the if (chroma == 1) additions to the
>> 8x8 prediction init code. They should be added, else fate will fail on
>> arm devices.
>
> You missed the if() being added in libavcodec/arm/h264dsp_init_arm.c :)

I expect them also in ff_h264_pred_init_neon(), similar to the ones in
the C init code.

Ronald
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to