[FFmpeg-cvslog] r23783 - in trunk/libavcodec: h264pred.c h264pred.h x86/Makefile x86/dsputil_mmx.c x86/dsputil_mmx.h x86/h264_intrapred.asm x86/h264dsp_mmx.c
Martin Storsjö
martin
Mon Jun 28 11:33:25 CEST 2010
On Fri, 25 Jun 2010, darkshikari wrote:
> +void ff_h264_pred_init_x86(H264PredContext *h, int codec_id)
> +{
> +#if HAVE_YASM
> + if (mm_flags & FF_MM_MMX) {
> + h->pred16x16[VERT_PRED8x8] = ff_pred16x16_vertical_mmx;
> + h->pred16x16[HOR_PRED8x8 ] = ff_pred16x16_horizontal_mmx;
> + h->pred16x16[DC_PRED8x8 ] = ff_pred16x16_dc_mmx;
> + h->pred8x8 [VERT_PRED8x8] = ff_pred8x8_vertical_mmx;
> + h->pred8x8 [HOR_PRED8x8 ] = ff_pred8x8_horizontal_mmx;
> + if (codec_id == CODEC_ID_VP8) {
> + h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_tm_vp8_mmx;
> + h->pred8x8 [DC_PRED8x8 ] = ff_pred8x8_dc_rv40_mmx;
> + h->pred8x8 [PLANE_PRED8x8] = ff_pred8x8_tm_vp8_mmx;
> + }
> + }
> +
> + if (mm_flags & FF_MM_MMXEXT) {
> + h->pred16x16[HOR_PRED8x8 ] = ff_pred16x16_horizontal_mmxext;
> + h->pred16x16[DC_PRED8x8 ] = ff_pred16x16_dc_mmxext;
> + h->pred8x8 [HOR_PRED8x8 ] = ff_pred8x8_horizontal_mmxext;
> + if (codec_id == CODEC_ID_VP8) {
> + h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_tm_vp8_mmxext;
> + h->pred8x8 [DC_PRED8x8 ] = ff_pred8x8_dc_rv40_mmxext;
> + h->pred8x8 [PLANE_PRED8x8] = ff_pred8x8_tm_vp8_mmxext;
> + }
> + }
> +
> + if (mm_flags & FF_MM_SSE) {
> + h->pred16x16[VERT_PRED8x8] = ff_pred16x16_vertical_sse;
> + h->pred16x16[DC_PRED8x8 ] = ff_pred16x16_dc_sse;
> + }
> +
> + if (mm_flags & FF_MM_SSE2) {
> + h->pred16x16[DC_PRED8x8 ] = ff_pred16x16_dc_sse2;
> + if (codec_id == CODEC_ID_VP8) {
> + h->pred16x16[PLANE_PRED8x8] = ff_pred16x16_tm_vp8_sse2;
> + h->pred8x8 [PLANE_PRED8x8] = ff_pred8x8_tm_vp8_sse2;
> + }
> + }
> +
> + if (mm_flags & FF_MM_SSSE3) {
> + h->pred16x16[HOR_PRED8x8 ] = ff_pred16x16_horizontal_ssse3;
> + h->pred16x16[DC_PRED8x8 ] = ff_pred16x16_dc_ssse3;
> + h->pred8x8 [HOR_PRED8x8 ] = ff_pred8x8_horizontal_ssse3;
> + if (codec_id == CODEC_ID_VP8) {
> + h->pred8x8 [PLANE_PRED8x8] = ff_pred8x8_tm_vp8_ssse3;
> + }
> + }
> +#endif
> +}
This broke compilation if CONFIG_H264DSP isn't enabled, e.g. with
--disable-everything --enable-decoder=<whatever that doesn't enable
h264dsp>. One way of unbreaking it is in the attached patch, but that's
not all that pretty.
// Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: conditional-h264dsp.patch
Type: text/x-diff
Size: 2018 bytes
Desc:
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20100628/331be6c5/attachment.patch>
More information about the ffmpeg-cvslog
mailing list