Hi,

On Wed, Aug 17, 2011 at 10:04 AM, Diego Biurrun <di...@biurrun.de> wrote:
> On Wed, Aug 17, 2011 at 09:54:52AM -0700, Ronald S. Bultje wrote:
>> 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.
>
> But this patch does not add any pred8x16_mad_cow functions.
> I'm not following you.

Thus, the patch is wrong, right? This is what patch review does. It
finds mistakes in patches, which are then subsequently fixed.

I think you should write the pred8x16_madcow functions.

>> >> 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.
>
> ff_h264_idct_add8_neon is only referenced in one place, where it is put
> under if().

I expect all chroma 8x8 arm predict functions to be under a similar
if(). Is that more clear?

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

Reply via email to