summaryrefslogtreecommitdiff
path: root/src/xine-engine
diff options
context:
space:
mode:
authorThomas Hellström <totte67@users.sourceforge.net>2004-10-12 07:40:07 +0000
committerThomas Hellström <totte67@users.sourceforge.net>2004-10-12 07:40:07 +0000
commit937f0bc598b5b91cc0a8368d6007467d0925d5f6 (patch)
treef695bc88cbbdfc8b0ea98314735b112d28c520fb /src/xine-engine
parent77b3e88fe2cf735c457756c8fdbe3f1c78d5ef85 (diff)
downloadxine-lib-937f0bc598b5b91cc0a8368d6007467d0925d5f6.tar.gz
xine-lib-937f0bc598b5b91cc0a8368d6007467d0925d5f6.tar.bz2
xxmc driver updates:
Updated software fallback mechanism to be compatible with post plugin deinterlacing. A decoder using the plugin can now request a software fallback format to be used if acceleration fails. Removed the software deinterlacer that was inherited from the xv plugin. Made idct/mocomp fall back to software decoding for interlaced streams, since these are not rendered correctly either with the xvmc or the xxmc plugin. CVS patchset: 7029 CVS date: 2004/10/12 07:40:07
Diffstat (limited to 'src/xine-engine')
-rw-r--r--src/xine-engine/accel_xvmc.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/xine-engine/accel_xvmc.h b/src/xine-engine/accel_xvmc.h
index ea10a40ff..bccbf9475 100644
--- a/src/xine-engine/accel_xvmc.h
+++ b/src/xine-engine/accel_xvmc.h
@@ -18,7 +18,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: accel_xvmc.h,v 1.1 2004/09/28 18:49:40 miguelfreitas Exp $
+ * $Id: accel_xvmc.h,v 1.2 2004/10/12 07:40:23 totte67 Exp $
*
*
* Common acceleration definitions for XvMC.
@@ -83,10 +83,10 @@ typedef struct xine_xxmc_s {
*/
xine_xvmc_t xvmc;
-
- unsigned format;
+
unsigned mpeg;
unsigned acceleration;
+ int fallback_format;
xine_vld_frame_t vld_frame;
uint8_t *slice_data;
unsigned slice_data_size;
@@ -94,7 +94,9 @@ typedef struct xine_xxmc_s {
int result;
int decoded;
float sleep;
- void (*proc_xxmc_frame) (vo_frame_t *vo_img);
+ void (*proc_xxmc_update_frame) (vo_driver_t *this_gen, vo_frame_t *frame_gen,
+ uint32_t width, uint32_t height, double ratio,
+ int format, int flags);
void (*proc_xxmc_begin) (vo_frame_t *vo_img);
void (*proc_xxmc_slice) (vo_frame_t *vo_img);
void (*proc_xxmc_flush) (vo_frame_t *vo_img);