Update of /cvsroot/xine/xine-lib/src/libffmpeg/libavcodec/armv4l
In directory
sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv9041/src/libffmpeg/libavcodec/armv4l
Modified Files:
dsputil_arm.c mpegvideo_arm.c simple_idct_arm.S
Log Message:
trying an updated ffmpeg version (51.25.0)
Index: dsputil_arm.c
===================================================================
RCS file: /cvsroot/xine/xine-lib/src/libffmpeg/libavcodec/armv4l/dsputil_arm.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- dsputil_arm.c 5 Feb 2006 14:11:36 -0000 1.9
+++ dsputil_arm.c 4 Dec 2006 22:25:25 -0000 1.10
@@ -2,18 +2,20 @@
* ARMv4L optimized DSP utils
* Copyright (c) 2001 Lionel Ulmer.
*
- * This library is free software; you can redistribute it and/or
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This library is distributed in the hope that it will be useful,
+ * FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
+ * License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
@@ -27,6 +29,12 @@
extern void j_rev_dct_ARM(DCTELEM *data);
extern void simple_idct_ARM(DCTELEM *data);
+extern void simple_idct_armv5te(DCTELEM *data);
+extern void simple_idct_put_armv5te(uint8_t *dest, int line_size,
+ DCTELEM *data);
+extern void simple_idct_add_armv5te(uint8_t *dest, int line_size,
+ DCTELEM *data);
+
/* XXX: local hack */
static void (*ff_put_pixels_clamped)(const DCTELEM *block, uint8_t *pixels,
int line_size);
static void (*ff_add_pixels_clamped)(const DCTELEM *block, uint8_t *pixels,
int line_size);
@@ -164,45 +172,48 @@
simple_idct_ARM (block);
ff_add_pixels_clamped(block, dest, line_size);
}
+
+#ifdef HAVE_IPP
static void simple_idct_ipp(DCTELEM *block)
{
-#ifdef HAVE_IPP
ippiDCT8x8Inv_Video_16s_C1I(block);
-#endif
}
static void simple_idct_ipp_put(uint8_t *dest, int line_size, DCTELEM *block)
{
-#ifdef HAVE_IPP
ippiDCT8x8Inv_Video_16s8u_C1R(block, dest, line_size);
-#endif
}
void add_pixels_clamped_iwmmxt(const DCTELEM *block, uint8_t *pixels, int
line_size);
static void simple_idct_ipp_add(uint8_t *dest, int line_size, DCTELEM *block)
{
-#ifdef HAVE_IPP
ippiDCT8x8Inv_Video_16s_C1I(block);
#ifdef HAVE_IWMMXT
add_pixels_clamped_iwmmxt(block, dest, line_size);
#else
add_pixels_clamped_ARM(block, dest, line_size);
#endif
-#endif
}
+#endif
void dsputil_init_armv4l(DSPContext* c, AVCodecContext *avctx)
{
- const int idct_algo= avctx->idct_algo;
+ int idct_algo= avctx->idct_algo;
ff_put_pixels_clamped = c->put_pixels_clamped;
ff_add_pixels_clamped = c->add_pixels_clamped;
-#ifdef HAVE_IPP
- if(idct_algo==FF_IDCT_ARM){
+ if(idct_algo == FF_IDCT_AUTO){
+#if defined(HAVE_IPP)
+ idct_algo = FF_IDCT_IPP;
+#elif defined(HAVE_ARMV5TE)
+ idct_algo = FF_IDCT_SIMPLEARMV5TE;
#else
- if(idct_algo==FF_IDCT_AUTO || idct_algo==FF_IDCT_ARM){
+ idct_algo = FF_IDCT_ARM;
#endif
+ }
+
+ if(idct_algo==FF_IDCT_ARM){
c->idct_put= j_rev_dct_ARM_put;
c->idct_add= j_rev_dct_ARM_add;
c->idct = j_rev_dct_ARM;
@@ -212,22 +223,27 @@
c->idct_add= simple_idct_ARM_add;
c->idct = simple_idct_ARM;
c->idct_permutation_type= FF_NO_IDCT_PERM;
+#ifdef HAVE_ARMV5TE
+ } else if (idct_algo==FF_IDCT_SIMPLEARMV5TE){
+ c->idct_put= simple_idct_put_armv5te;
+ c->idct_add= simple_idct_add_armv5te;
+ c->idct = simple_idct_armv5te;
+ c->idct_permutation_type = FF_NO_IDCT_PERM;
+#endif
#ifdef HAVE_IPP
- } else if (idct_algo==FF_IDCT_AUTO || idct_algo==FF_IDCT_IPP){
-#else
} else if (idct_algo==FF_IDCT_IPP){
-#endif
c->idct_put= simple_idct_ipp_put;
c->idct_add= simple_idct_ipp_add;
c->idct = simple_idct_ipp;
c->idct_permutation_type= FF_NO_IDCT_PERM;
+#endif
}
/* c->put_pixels_tab[0][0] = put_pixels16_arm; */ // NG!
c->put_pixels_tab[0][1] = put_pixels16_x2_arm; //OK!
c->put_pixels_tab[0][2] = put_pixels16_y2_arm; //OK!
/* c->put_pixels_tab[0][3] = put_pixels16_xy2_arm; /\* NG *\/ */
-/* c->put_no_rnd_pixels_tab[0][0] = put_pixels16_arm; // ?(»È¤ï¤ì¤Ê¤¤) */
+/* c->put_no_rnd_pixels_tab[0][0] = put_pixels16_arm; */
c->put_no_rnd_pixels_tab[0][1] = put_no_rnd_pixels16_x2_arm; // OK
c->put_no_rnd_pixels_tab[0][2] = put_no_rnd_pixels16_y2_arm; //OK
/* c->put_no_rnd_pixels_tab[0][3] = put_no_rnd_pixels16_xy2_arm; //NG */
Index: mpegvideo_arm.c
===================================================================
RCS file:
/cvsroot/xine/xine-lib/src/libffmpeg/libavcodec/armv4l/mpegvideo_arm.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- mpegvideo_arm.c 5 Feb 2006 14:11:36 -0000 1.3
+++ mpegvideo_arm.c 4 Dec 2006 22:25:25 -0000 1.4
@@ -1,18 +1,20 @@
/*
* Copyright (c) 2002 Michael Niedermayer
*
- * This library is free software; you can redistribute it and/or
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
*
- * This library is distributed in the hope that it will be useful,
+ * FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
+ * License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
Index: simple_idct_arm.S
===================================================================
RCS file:
/cvsroot/xine/xine-lib/src/libffmpeg/libavcodec/armv4l/simple_idct_arm.S,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- simple_idct_arm.S 5 Feb 2006 14:11:36 -0000 1.2
+++ simple_idct_arm.S 4 Dec 2006 22:25:25 -0000 1.3
@@ -5,20 +5,22 @@
*
* Author: Frederic Boulay <[EMAIL PROTECTED]>
*
- * You can redistribute this file and/or modify
- * it under the terms of the GNU General Public License (version 2)
- * as published by the Free Software Foundation.
+ * This file is part of FFmpeg.
*
- * This file is distributed in the hope that it will be useful,
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this library; if not, write to the Free Software
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- *
* The function defined in this file, is derived from the simple_idct function
* from the libavcodec library part of the ffmpeg project.
*/
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Xine-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xine-cvslog