summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorarpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-04-24 20:00:57 +0000
committerarpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-04-24 20:00:57 +0000
commitc43b552d375e3604d750dc72aea498b970d1fe2c (patch)
tree0167a20b33d80d3da00c33714af3e48fc59999e5 /libvo
parent3a3f10389964a3a86f6a7ce0dee11f9675b6c9bd (diff)
downloadmpv-c43b552d375e3604d750dc72aea498b970d1fe2c.tar.bz2
mpv-c43b552d375e3604d750dc72aea498b970d1fe2c.tar.xz
useless files.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@622 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/Attic/SHIT/video_out_gl.c.V3-sux538
-rw-r--r--libvo/Attic/SHIT/video_out_gl.c.diff64
-rw-r--r--libvo/Attic/SHIT/video_out_odivx.c.OLD183
-rw-r--r--libvo/Attic/SHIT/video_out_sdl.c-1.1.4574
-rw-r--r--libvo/Attic/SHIT/video_out_x11.c.OLD518
-rw-r--r--libvo/Attic/SHIT/video_out_x11.c.thread466
6 files changed, 0 insertions, 2343 deletions
diff --git a/libvo/Attic/SHIT/video_out_gl.c.V3-sux b/libvo/Attic/SHIT/video_out_gl.c.V3-sux
deleted file mode 100644
index 459995d9d4..0000000000
--- a/libvo/Attic/SHIT/video_out_gl.c.V3-sux
+++ /dev/null
@@ -1,538 +0,0 @@
-#define DISP
-
-// this can be 3 or 4 (regarding 24bpp and 32bpp)
-#define BYTES_PP 3
-
-#define TEXTUREFORMAT_32BPP
-
-// Hmm. Enabling this makes about 20% speedup too! (Celeron2+G400+UtahGLX)
-//#define TEXSUBIMAGE_BUG_WORKAROUND
-
-/*
- * video_out_gl.c, X11/OpenGL interface
- * based on video_out_x11 by Aaron Holtzman,
- * and WS opengl window manager by Pontscho/Fresh!
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-
-
-LIBVO_EXTERN(gl)
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-//#include <X11/keysym.h>
-#include <GL/glx.h>
-#include <errno.h>
-#include "yuv2rgb.h"
-
-#include <GL/gl.h>
-
-static vo_info_t vo_info =
-{
- "X11 (OpenGL)",
- "gl",
- "Arpad Gereoffy <arpi@esp-team.scene.hu>",
- ""
-};
-
-/* private prototypes */
-static void Display_Image (unsigned char *ImageData);
-
-/* local data */
-static unsigned char *ImageData=NULL;
-
-/* X11 related variables */
-static Display *mydisplay;
-static Window mywindow;
-//static GC mygc;
-//static XImage *myximage;
-//static int depth,mode;
-static XWindowAttributes attribs;
-static int X_already_started = 0;
-
-static int texture_id=1;
-
-static GLXContext wsGLXContext;
-//XVisualInfo * wsVisualInfo;
-int wsGLXAttrib[] = { GLX_RGBA,
- GLX_RED_SIZE,1,
- GLX_GREEN_SIZE,1,
- GLX_BLUE_SIZE,1,
-// GLX_DEPTH_SIZE,16,
- GLX_DOUBLEBUFFER,
- None };
-
-
-static uint32_t image_width;
-static uint32_t image_height;
-static uint32_t image_format;
-static uint32_t image_bpp;
-static uint32_t image_bytes;
-
-static uint32_t texture_width;
-static uint32_t texture_height;
-
-static resize(int x,int y){
- printf("Resize: %dx%d\n",x,y);
- glViewport( 0, 0, x, y );
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, image_width, image_height, 0, -1,1);
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-/* connect to server, create and map window,
- * allocate colors and (shared) memory
- */
-static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
-{
- int screen;
- unsigned int fg, bg;
- char *hello = (title == NULL) ? "OpenGL rulez" : title;
- char *name = ":0.0";
- XSizeHints hint;
- XVisualInfo *vinfo;
- XEvent xev;
-
- XGCValues xgcv;
- XSetWindowAttributes xswa;
- unsigned long xswamask;
-
- image_height = height;
- image_width = width;
- image_format = format;
-
- if (X_already_started) return -1;
-
- if(getenv("DISPLAY")) name = getenv("DISPLAY");
-
- mydisplay = XOpenDisplay(name);
-
- if (mydisplay == NULL)
- {
- fprintf(stderr,"Can not open display\n");
- return -1;
- }
-
- screen = DefaultScreen(mydisplay);
-
- hint.x = 0;
- hint.y = 0;
- hint.width = d_width;
- hint.height = d_height;
- hint.flags = PPosition | PSize;
-
- /* Get some colors */
-
- bg = WhitePixel(mydisplay, screen);
- fg = BlackPixel(mydisplay, screen);
-
- /* Make the window */
-
- XGetWindowAttributes(mydisplay, DefaultRootWindow(mydisplay), &attribs);
-
-#if 0
- /*
- *
- * depth in X11 terminology land is the number of bits used to
- * actually represent the colour.
- *
- * bpp in X11 land means how many bits in the frame buffer per
- * pixel.
- *
- * ex. 15 bit color is 15 bit depth and 16 bpp. Also 24 bit
- * color is 24 bit depth, but can be 24 bpp or 32 bpp.
- */
-
- depth = attribs.depth;
-
- if (depth != 15 && depth != 16 && depth != 24 && depth != 32)
- {
- /* The root window may be 8bit but there might still be
- * visuals with other bit depths. For example this is the
- * case on Sun/Solaris machines.
- */
- depth = 24;
- }
- //BEGIN HACK
- //mywindow = XCreateSimpleWindow(mydisplay, DefaultRootWindow(mydisplay),
- //hint.x, hint.y, hint.width, hint.height, 4, fg, bg);
- //
-#endif
-
-// XMatchVisualInfo(mydisplay, screen, depth, TrueColor, &vinfo);
- vinfo=glXChooseVisual( mydisplay,screen,wsGLXAttrib );
-
- xswa.background_pixel = 0;
- xswa.border_pixel = 1;
-// xswa.colormap = XCreateColormap(mydisplay, RootWindow(mydisplay,screen), vinfo.visual, AllocNone);
- xswa.colormap = XCreateColormap(mydisplay, RootWindow(mydisplay,screen), vinfo->visual, AllocNone);
- xswamask = CWBackPixel | CWBorderPixel | CWColormap;
-// xswamask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask | CWCursor | CWOverrideRedirect | CWSaveUnder | CWX | CWY | CWWidth | CWHeight;
-
- mywindow = XCreateWindow(mydisplay, RootWindow(mydisplay,screen),
- hint.x, hint.y, hint.width, hint.height, 4, vinfo->depth,CopyFromParent,vinfo->visual,xswamask,&xswa);
-
- wsGLXContext=glXCreateContext( mydisplay,vinfo,NULL,True );
-// XStoreName( wsDisplay,wsMyWin,wsSysName );
-
- printf("GLXcontect ok\n");
-
- XSelectInput(mydisplay, mywindow, StructureNotifyMask);
-
- /* Tell other applications about this window */
-
- XSetStandardProperties(mydisplay, mywindow, hello, hello, None, NULL, 0, &hint);
-
- /* Map window. */
-
- XMapWindow(mydisplay, mywindow);
-
- /* Wait for map. */
- do
- {
- XNextEvent(mydisplay, &xev);
- }
- while (xev.type != MapNotify || xev.xmap.event != mywindow);
-
- XSelectInput(mydisplay, mywindow, NoEventMask);
-
- glXMakeCurrent( mydisplay,mywindow,wsGLXContext );
-
- XFlush(mydisplay);
- XSync(mydisplay, False);
-
-// mygc = XCreateGC(mydisplay, mywindow, 0L, &xgcv);
-
-// myximage = XGetImage(mydisplay, mywindow, 0, 0,
-// width, image_height, AllPlanes, ZPixmap);
-// ImageData = myximage->data;
-// bpp = myximage->bits_per_pixel;
-
- XSelectInput(mydisplay, mywindow, StructureNotifyMask); // !!!!
-
- printf("Window setup ok\n");
-
-#if 0
- // If we have blue in the lowest bit then obviously RGB
- mode = ((myximage->blue_mask & 0x01) != 0) ? MODE_RGB : MODE_BGR;
-#ifdef WORDS_BIGENDIAN
- if (myximage->byte_order != MSBFirst)
-#else
- if (myximage->byte_order != LSBFirst)
-#endif
- {
- fprintf( stderr, "No support fon non-native XImage byte order!\n" );
- return -1;
- }
-
- printf("DEPTH=%d BPP=%d\n",depth,bpp);
-#endif
-
- /*
- * If depth is 24 then it may either be a 3 or 4 byte per pixel
- * format. We can't use bpp because then we would lose the
- * distinction between 15/16bit depth (2 byte formate assumed).
- *
- * FIXME - change yuv2rgb_init to take both depth and bpp
- * parameters
- */
-
- texture_width=32;
- while(texture_width<image_width) texture_width*=2;
- while(texture_width<image_height) texture_width*=2;
- if(texture_width>256)texture_width=256; // voodoo3 hack
- texture_height=texture_width;
-
- if(format==IMGFMT_YV12){
- yuv2rgb_init(8*BYTES_PP, MODE_RGB);
- printf("YUV init OK!\n");
- image_bpp=8*BYTES_PP;
- image_bytes=BYTES_PP;
- } else {
- image_bpp=format&0xFF;
- image_bytes=(image_bpp+7)/8;
- }
-
- ImageData=malloc(texture_width*texture_height*image_bytes);
- memset(ImageData,128,texture_width*texture_height*image_bytes);
-
- glDisable(GL_BLEND);
- glDisable(GL_DEPTH_TEST);
- glDepthMask(GL_FALSE);
- glDisable(GL_CULL_FACE);
-
- printf("Creating %dx%d texture...\n",texture_width,texture_height);
-
-#if 1
-// glBindTexture(GL_TEXTURE_2D, texture_id);
- glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-#ifdef TEXTUREFORMAT_32BPP
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, texture_width, texture_height, 0,
-#else
- glTexImage2D(GL_TEXTURE_2D, 0, BYTES_PP, texture_width, texture_height, 0,
-#endif
- (image_bytes==4)?GL_RGBA:GL_BGR, GL_UNSIGNED_BYTE, ImageData);
-#endif
-
- resize(d_width,d_height);
-
- glClearColor( 1.0f,1.0f,1.0f,0.0f );
- glClear( GL_COLOR_BUFFER_BIT );
-
- printf("OpenGL setup OK!\n");
-
- X_already_started++;
- return 0;
-}
-
-static const vo_info_t*
-get_info(void)
-{
- return &vo_info;
-}
-
-static void
-Terminate_Display_Process(void)
-{
- getchar(); /* wait for enter to remove window */
- XDestroyWindow(mydisplay, mywindow);
- XCloseDisplay(mydisplay);
- X_already_started = 0;
-}
-
-static void
-FlipImage()
-{
-// XPutImage(mydisplay, mywindow, mygc, myximage, 0, 0, 0, 0, myximage->width, myximage->height);
-// XFlush(mydisplay);
-int i;
-XEvent wsEvent;
-XEvent xev;
-
- while ( XPending( mydisplay ) ) {
- XNextEvent( mydisplay,&wsEvent );
- switch( wsEvent.type ) {
-// case Expose: if ( wsReDraw ) wsReDraw( wsDisplay,wsEvent.xany.window ); break;
- case ConfigureNotify: //wsWindowWidth=wsEvent.xconfigure.width;
- //wsWindowHeight=wsEvent.xconfigure.height;
-#if 0
- XUnmapWindow( mydisplay,mywindow );
- XMapWindow( mydisplay,mywindow );
- /* Wait for map. */
- do { XNextEvent(mydisplay, &xev);}
- while (xev.type != MapNotify || xev.xmap.event != mywindow);
-#endif
- resize( wsEvent.xconfigure.width, wsEvent.xconfigure.height );
- break;
- }
- }
-
- glEnable(GL_TEXTURE_2D);
-// glBindTexture(GL_TEXTURE_2D, texture_id);
-
- glColor3f(1,1,1);
- glBegin(GL_QUADS);
- glTexCoord2f(0,0);glVertex2i(0,0);
- glTexCoord2f(0,1);glVertex2i(0,texture_height);
- glTexCoord2f(1,1);glVertex2i(texture_width,texture_height);
- glTexCoord2f(1,0);glVertex2i(texture_width,0);
- glEnd();
-
-// glFlush();
- glFinish();
- glXSwapBuffers( mydisplay,mywindow );
-
-}
-
-static inline void
-flip_page_x11(void)
-{
-// Display_Image(myximage, ImageData);
-// Display_Image(ImageData);
- FlipImage();
-}
-
-
-static void
-flip_page(void)
-{
- return flip_page_x11();
-}
-
-static inline uint32_t
-draw_slice_x11(uint8_t *src[], uint32_t slice_num)
-{
- uint8_t *dst;
- int i;
-
- dst = ImageData;// + image_width * 16 * BYTES_PP * slice_num;
-
- yuv2rgb(dst , src[0], src[1], src[2],
- image_width, 16,
- image_width*BYTES_PP, image_width, image_width/2 );
-
-// emms ();
-
-#ifdef TEXSUBIMAGE_BUG_WORKAROUND
- for(i=0;i<16;i++){
- glTexSubImage2D( GL_TEXTURE_2D, // target
- 0, // level
- 0, // x offset
- 16*slice_num+i, // y offset
- image_width, // width
- 1, // height
- (BYTES_PP==4)?GL_RGBA:GL_RGB, // format
- GL_UNSIGNED_BYTE, // type
- ImageData+i*BYTES_PP*image_width ); // *pixels
- }
-#else
-//printf("uploading slice \n");
- glTexSubImage2D( GL_TEXTURE_2D, // target
- 0, // level
- 0, // x offset
- 16*slice_num, // y offset
- image_width, // width
- 16, // height
- (BYTES_PP==4)?GL_RGBA:GL_RGB, // format
- GL_UNSIGNED_BYTE, // type
- ImageData ); // *pixels
-#endif
-
- return 0;
-}
-
-static uint32_t
-draw_slice(uint8_t *src[], uint32_t slice_num)
-{
- return draw_slice_x11(src,slice_num);
-}
-
-#define MIN(a,b) (((a)<(b))?(a):(b))
-
-static inline uint32_t
-draw_frame_x11_yv12(uint8_t *src[])
-{
-int i;
-// printf("Converting YUV->RGB...\n");
- yuv2rgb(ImageData, src[0], src[1], src[2],
- image_width, image_height,
- image_width*BYTES_PP, image_width, image_width/2 );
-// printf("Ready!\n");
-
-// emms ();
-
-// for(i=0;i<image_height;i++){
- for(i=0;i<MIN(image_height,texture_height);i++){
- glTexSubImage2D( GL_TEXTURE_2D, // target
- 0, // level
- 0, // x offset
- i, // y offset
-// image_width, // width
- MIN(image_width,texture_width), // width
- 1, // height
- (BYTES_PP==4)?GL_RGBA:GL_RGB, // format
- GL_UNSIGNED_BYTE, // type
- ImageData+i*BYTES_PP*image_width ); // *pixels
- }
-
-// Display_Image(ImageData);
-// FlipImage();
- return 0;
-}
-
-
-static inline uint32_t
-draw_frame_x11_bgr(uint8_t *src[])
-{
-int i;
-uint8_t *s=src[0];
-uint8_t *de=&ImageData[3*image_width];
-
- for(i=0;i<image_height;i++){
- int j;
- uint8_t *d=ImageData;
- while(d<de){
- d[0]=s[2];
- d[1]=s[1];
- d[2]=s[0];
- s+=3;d+=3;
- }
- glTexSubImage2D( GL_TEXTURE_2D, // target
- 0, // level
- 0, // x offset
- image_height-1-i, // y offset
- image_width<texture_width?image_width:texture_width, // width
-// image_width, // width
- 1, // height
- (image_bytes==4)?GL_RGBA:GL_RGB, // format
- GL_UNSIGNED_BYTE, // type
- ImageData); // *pixels
- }
-
-// Display_Image(ImageData);
- FlipImage();
- return 0;
-}
-
-static inline uint32_t
-draw_frame_x11_rgb(uint8_t *src[])
-{
-int i;
-uint8_t *ImageData=src[0];
-
- for(i=0;i<image_height;i++){
- glTexSubImage2D( GL_TEXTURE_2D, // target
- 0, // level
- 0, // x offset
- image_height-1-i, // y offset
-// image_width, // width
- image_width<texture_width?image_width:texture_width, // width
- 1, // height
- (image_bytes==4)?GL_RGBA:GL_RGB, // format
- GL_UNSIGNED_BYTE, // type
- ImageData+i*image_bytes*image_width ); // *pixels
- }
-
-// Display_Image(ImageData);
- FlipImage();
- return 0;
-}
-
-
-static uint32_t
-draw_frame(uint8_t *src[])
-{
- if(image_format==IMGFMT_YV12)
- return draw_frame_x11_yv12(src);
- else
- if((image_format&IMGFMT_RGB_MASK)==IMGFMT_RGB)
- return draw_frame_x11_rgb(src);
- else
- return draw_frame_x11_bgr(src);
-}
-
-static uint32_t
-query_format(uint32_t format)
-{
- switch(format){
- case IMGFMT_YV12:
- case IMGFMT_RGB|24:
- case IMGFMT_BGR|24:
- return 1;
- }
- return 0;
-}
diff --git a/libvo/Attic/SHIT/video_out_gl.c.diff b/libvo/Attic/SHIT/video_out_gl.c.diff
deleted file mode 100644
index dece59b7fd..0000000000
--- a/libvo/Attic/SHIT/video_out_gl.c.diff
+++ /dev/null
@@ -1,64 +0,0 @@
-8,10d7
-< // Hmm. Enabling this makes about 20% speedup too! (Celeron2+G400+UtahGLX)
-< //#define TEXSUBIMAGE_BUG_WORKAROUND
-<
-369,370c366,367
-< static inline uint32_t
-< draw_slice_x11(uint8_t *src[], uint32_t slice_num)
----
-> //static inline uint32_t draw_slice_x11(uint8_t *src[], uint32_t slice_num)
-> static uint32_t draw_slice(uint8_t *src[], int stride[], int w,int h,int x,int y)
-372,375c369,372
-< uint8_t *dst;
-< int i;
-<
-< dst = ImageData;// + image_width * 16 * BYTES_PP * slice_num;
----
-> int i;
-> int dstride=w*BYTES_PP;
->
-> dstride=(dstride+15)&(~15);
-377,379c374,375
-< yuv2rgb(dst , src[0], src[1], src[2],
-< image_width, 16,
-< image_width*BYTES_PP, image_width, image_width/2 );
----
-> yuv2rgb(ImageData, src[0], src[1], src[2],
-> w,h, dstride, stride[0],stride[1]);
-383,384c379
-< #ifdef TEXSUBIMAGE_BUG_WORKAROUND
-< for(i=0;i<16;i++){
----
-> for(i=0;i<h;i++){
-387,389c382,384
-< 0, // x offset
-< 16*slice_num+i, // y offset
-< image_width, // width
----
-> x, // x offset
-> y+i, // y offset
-> w, // width
-393c388
-< ImageData+i*BYTES_PP*image_width ); // *pixels
----
-> ImageData+i*dstride ); // *pixels
-395,406d389
-< #else
-< //printf("uploading slice \n");
-< glTexSubImage2D( GL_TEXTURE_2D, // target
-< 0, // level
-< 0, // x offset
-< 16*slice_num, // y offset
-< image_width, // width
-< 16, // height
-< (BYTES_PP==4)?GL_RGBA:GL_RGB, // format
-< GL_UNSIGNED_BYTE, // type
-< ImageData ); // *pixels
-< #endif
-409,414d391
-< }
-<
-< static uint32_t
-< draw_slice(uint8_t *src[], uint32_t slice_num)
-< {
-< return draw_slice_x11(src,slice_num);
diff --git a/libvo/Attic/SHIT/video_out_odivx.c.OLD b/libvo/Attic/SHIT/video_out_odivx.c.OLD
deleted file mode 100644
index 83f3fe2e61..0000000000
--- a/libvo/Attic/SHIT/video_out_odivx.c.OLD
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * OpenDivX AVI file writer
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-
-LIBVO_EXTERN(odivx)
-
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#include "../encore/encore.h"
-
-static vo_info_t vo_info =
-{
- "OpenDivX AVI File writer",
- "odivx",
- "Arpad Gereoffy <arpi@esp-team.scene.hu>",
- ""
-};
-
-static uint8_t *image=NULL;
-static int image_width=0;
-static int image_height=0;
-static char *buffer=NULL;
-static int frameno=0;
-
-extern char* encode_name;
-extern char* encode_index_name;
-
-static uint32_t
-draw_slice(uint8_t *src[], uint32_t slice_num)
-{
- uint8_t *d;
-
- // copy Y
- d=image;
- memcpy(d+(slice_num<<4)*image_width,src[0],image_width*16);
- // copy U
- d+=image_width*image_height;
- memcpy(d+(slice_num<<2)*image_width,src[1],image_width*4);
- // copy V
- d+=image_width*image_height/4;
- memcpy(d+(slice_num<<2)*image_width,src[2],image_width*4);
-
- return 0;
-}
-
-static uint32_t
-draw_frame(uint8_t *src[])
-{
- uint8_t *d;
-
- // copy Y
- d=image;
- memcpy(d,src[0],image_width*image_height);
- // copy U
- d+=image_width*image_height;
- memcpy(d,src[1],image_width*image_height/4);
- // copy V
- d+=image_width*image_height/4;
- memcpy(d,src[2],image_width*image_height/4);
-
- return 0;
-}
-
-typedef unsigned int DWORD;
-
-typedef struct
-{
- DWORD ckid;
- DWORD dwFlags;
- DWORD dwChunkOffset; // Position of chunk
- DWORD dwChunkLength; // Length of chunk
-} AVIINDEXENTRY;
-
-static void
-flip_page(void)
-{
-
-// we are rady to encode this frame
-ENC_FRAME enc_frame;
-ENC_RESULT enc_result;
-
-if(++frameno<10) return;
-
-enc_frame.bmp=image;
-enc_frame.bitstream=buffer;
-enc_frame.length=0;
-encore(0x123,0,&enc_frame,&enc_result);
-
-printf("coded length: %d \n",enc_frame.length);
-
-if(encode_name){
- AVIINDEXENTRY i;
- FILE *file;
- i.ckid=('c'<<24)|('d'<<16)|('0'<<8)|'0'; // "00dc"
- i.dwFlags=enc_result.isKeyFrame?0x10:0;
- i.dwChunkLength=enc_frame.length;
- // Write AVI chunk:
- if((file=fopen(encode_name,"ab"))){
- unsigned char zerobyte=0;
- i.dwChunkOffset=ftell(file);
- fwrite(&i.ckid,4,1,file);
- fwrite(&enc_frame.length,4,1,file);
- fwrite(buffer,enc_frame.length,1,file);
- if(enc_frame.length&1) fwrite(&zerobyte,1,1,file); // padding
- fclose(file);
- }
- // Write AVI index:
- if(encode_index_name && (file=fopen(encode_index_name,"ab"))){
- fwrite(&i,sizeof(i),1,file);
- fclose(file);
- }
-}
-
-
-}
-
-static uint32_t
-query_format(uint32_t format)
-{
- switch(format){
- case IMGFMT_YV12:
-// case IMGFMT_YUY2:
-// case IMGFMT_RGB|24:
-// case IMGFMT_BGR|24:
- return 1;
- }
- return 0;
-}
-
-static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
-{
- uint32_t frame_size;
- ENC_PARAM enc_param;
-
- buffer=malloc(0x100000);
- if(!buffer) return -1;
-
-// file = fopen("encoded.odvx","wb");
-// if(!file) return -1;
-
- frame_size=width*height+width*height/2;
- image_width=width;
- image_height=height;
- image=malloc(frame_size);
-
- //clear the buffer
- memset(image,0x80,frame_size);
-
-// encoding parameters:
-enc_param.framerate=25.0;
-enc_param.bitrate=400000; //780000;
-enc_param.rc_period=300;
-enc_param.max_quantizer=15;
-enc_param.min_quantizer=1;
-enc_param.search_range=128;
-
-// init codec:
-enc_param.x_dim=width;
-enc_param.y_dim=height;
-enc_param.flip=2; // 0=RGB 1=flippedRGB 2=planarYUV format
-encore(0x123,ENC_OPT_INIT,&enc_param,NULL);
-
- return 0;
-}
-
-static const vo_info_t*
-get_info(void)
-{
- return &vo_info;
-}
-
diff --git a/libvo/Attic/SHIT/video_out_sdl.c-1.1.4 b/libvo/Attic/SHIT/video_out_sdl.c-1.1.4
deleted file mode 100644
index a0f307beba..0000000000
--- a/libvo/Attic/SHIT/video_out_sdl.c-1.1.4
+++ /dev/null
@@ -1,574 +0,0 @@
-/*
- * video_out_sdl.c
- *
- * Copyright (C) Ryan C. Gordon <icculus@lokigames.com> - April 22, 2000.
- *
- * A mpeg2dec display driver that does output through the
- * Simple DirectMedia Layer (SDL) library. This effectively gives us all
- * sorts of output options: X11, SVGAlib, fbcon, AAlib, GGI. Win32, MacOS
- * and BeOS support, too. Yay. SDL info, source, and binaries can be found
- * at http://slouken.devolution.com/SDL/
- *
- * This file is part of mpeg2dec, a free MPEG-2 video stream decoder.
- *
- * mpeg2dec is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * mpeg2dec 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Make; see the file COPYING. If not, write to
- * the Free Software Foundation,
- *
- * Changes:
- * Dominik Schnitzer <dominik@schnitzer.at> - November 08, 2000.
- * - Added resizing support, fullscreen: chnaged the sdlmodes selection
- * routine.
- * - SDL bugfixes: removed the atexit(SLD_Quit), SDL_Quit now resides in
- * the plugin_exit routine.
- * - Commented the source :)
- * - Shortcuts: for switching between Fullscreen/Windowed mode and for
- * cycling between the different Fullscreen modes.
- * - Small bugfixes: proper width/height of movie
- * Dominik Schnitzer <dominik@schnitzer.at> - November 11, 2000.
- * - Cleanup code, more comments
- * - Better error handling
- * Bruno Barreyra <barreyra@ufl.edu> - December 10, 2000.
- * - Eliminated memcpy's for entire frames
- * Arpad Gereoffy <arpi@esp-team.scene.hu> - Jan 13, 2001.
- * - Ported to MPlayer
- * - small changes about keys and fullscreen mode
- * Jeffrey Boser <verin@lvcm.com> - Jan 16, 2001.
- * - type casting fixes, clip rect fix
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <inttypes.h>
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-
-LIBVO_EXTERN(sdl)
-
-//#include "log.h"
-//#define LOG if(0)printf
-
-static vo_info_t vo_info =
-{
- "SDL YUV overlay",
- "sdl",
- "Ryan C. Gordon <icculus@lokigames.com>",
- ""
-};
-
-#include <SDL/SDL.h>
-
-/** Private SDL Data structure **/
-
-static struct sdl_priv_s {
-
- /* SDL YUV surface & overlay */
- SDL_Surface *surface;
- SDL_Overlay *overlay;
-// SDL_Overlay *current_frame;
-
- /* available fullscreen modes */
- SDL_Rect **fullmodes;
-
- /* surface attributes for fullscreen and windowed mode */
- Uint32 sdlflags, sdlfullflags;
-
- /* save the windowed output extents */
- SDL_Rect windowsize;
-
- /* Bits per Pixel */
- Uint8 bpp;
-
- /* current fullscreen mode, 0 = highest available fullscreen mode */
- int fullmode;
-
- /* YUV ints */
- int framePlaneY, framePlaneUV;
- int slicePlaneY, slicePlaneUV;
- int width,height;
- int format;
-} sdl_priv;
-
-
-/** OMS Plugin functions **/
-
-
-/**
- * Take a null-terminated array of pointers, and find the last element.
- *
- * params : array == array of which we want to find the last element.
- * returns : index of last NON-NULL element.
- **/
-
-static inline int findArrayEnd (SDL_Rect **array)
-{
- int i = 0;
- while ( array[i++] ); /* keep loopin' ... */
-
- /* return the index of the last array element */
- return i - 1;
-}
-
-
-/**
- * Open and prepare SDL output.
- *
- * params : *plugin ==
- * *name ==
- * returns : 0 on success, -1 on failure
- **/
-
-static int sdl_open (void *plugin, void *name)
-{
- struct sdl_priv_s *priv = &sdl_priv;
- const SDL_VideoInfo *vidInfo = NULL;
- static int opened = 0;
-
- if (opened)
- return 0;
- opened = 1;
-
-// LOG (LOG_DEBUG, "SDL video out: Opened Plugin");
-
- /* default to no fullscreen mode, we'll set this as soon we have the avail. mdoes */
- priv->fullmode = -2;
- /* other default values */
- priv->sdlflags = SDL_HWSURFACE|SDL_RESIZABLE|SDL_ASYNCBLIT;
- priv->sdlfullflags = SDL_HWSURFACE|SDL_FULLSCREEN|SDL_DOUBLEBUF|SDL_ASYNCBLIT;
- priv->surface = NULL;
- priv->overlay = NULL;
- priv->fullmodes = NULL;
-
- /* initialize the SDL Video system */
- if (SDL_Init (SDL_INIT_VIDEO)) {
-// LOG (LOG_ERROR, "SDL video out: Initializing of SDL failed (SDL_Init). Please use the latest version of SDL.");
- return -1;
- }
-
- /* No Keyrepeats! */
- SDL_EnableKeyRepeat(0,0);
-
- /* get information about the graphics adapter */
- vidInfo = SDL_GetVideoInfo ();
-
- /* collect all fullscreen & hardware modes available */
- if (!(priv->fullmodes = SDL_ListModes (vidInfo->vfmt, priv->sdlfullflags))) {
-
- /* non hardware accelerated fullscreen modes */
- priv->sdlfullflags &= ~SDL_HWSURFACE;
- priv->fullmodes = SDL_ListModes (vidInfo->vfmt, priv->sdlfullflags);
- }
-
- /* test for normal resizeable & windowed hardware accellerated surfaces */
- if (!SDL_ListModes (vidInfo->vfmt, priv->sdlflags)) {
-
- /* test for NON hardware accelerated resizeable surfaces - poor you.
- * That's all we have. If this fails there's nothing left.
- * Theoretically there could be Fullscreenmodes left - we ignore this for now.
- */
- priv->sdlflags &= ~SDL_HWSURFACE;
- if ((!SDL_ListModes (vidInfo->vfmt, priv->sdlflags)) && (!priv->fullmodes)) {
-// LOG (LOG_ERROR, "SDL video out: Couldn't get any acceptable SDL Mode for output. (SDL_ListModes failed)");
- return -1;
- }
- }
-
-
- /* YUV overlays need at least 16-bit color depth, but the
- * display might less. The SDL AAlib target says it can only do
- * 8-bits, for example. So, if the display is less than 16-bits,
- * we'll force the BPP to 16, and pray that SDL can emulate for us.
- */
- priv->bpp = vidInfo->vfmt->BitsPerPixel;
- if (priv->bpp < 16) {
-/*
- LOG (LOG_WARNING, "SDL video out: Your SDL display target wants to be at a color depth of (%d), but we need it to be at\
-least 16 bits, so we need to emulate 16-bit color. This is going to slow things down; you might want to\
-increase your display's color depth, if possible", priv->bpp);
-*/
- priv->bpp = 16;
- }
-
- /* We dont want those in out event queue */
- SDL_EventState(SDL_ACTIVEEVENT, SDL_IGNORE);
- SDL_EventState(SDL_KEYUP, SDL_IGNORE);
- SDL_EventState(SDL_MOUSEMOTION, SDL_IGNORE);
- SDL_EventState(SDL_MOUSEBUTTONDOWN, SDL_IGNORE);
- SDL_EventState(SDL_MOUSEBUTTONUP, SDL_IGNORE);
- SDL_EventState(SDL_QUIT, SDL_IGNORE);
- SDL_EventState(SDL_SYSWMEVENT, SDL_IGNORE);
- SDL_EventState(SDL_USEREVENT, SDL_IGNORE);
-
- /* Success! */
- return 0;
-}
-
-
-/**
- * Close SDL, Cleanups, Free Memory
- *
- * params : *plugin
- * returns : non-zero on success, zero on error.
- **/
-
-static int sdl_close (void *plugin)
-{
- struct sdl_priv_s *priv = &sdl_priv;
-
-// LOG (LOG_DEBUG, "SDL video out: Closed Plugin");
-// LOG (LOG_INFO, "SDL video out: Closed Plugin");
-
- /* Cleanup YUV Overlay structure */
- if (priv->overlay)
- SDL_FreeYUVOverlay(priv->overlay);
-
- /* Free our blitting surface */
- if (priv->surface)
- SDL_FreeSurface(priv->surface);
-
- /* TODO: cleanup the full_modes array */
-
- /* Cleanup SDL */
- SDL_Quit();
-
- return 0;
-}
-
-
-/**
- * Sets the specified fullscreen mode.
- *
- * params : mode == index of the desired fullscreen mode
- * returns : doesn't return
- **/
-
-static void set_fullmode (int mode)
-{
- struct sdl_priv_s *priv = &sdl_priv;
- SDL_Surface *newsurface = NULL;
-
-
- /* if we haven't set a fullmode yet, default to the lowest res fullmode first */
- if (mode < 0)
- mode = priv->fullmode = findArrayEnd(priv->fullmodes) - 1;
-
- /* change to given fullscreen mode and hide the mouse cursor*/
- newsurface = SDL_SetVideoMode(priv->fullmodes[mode]->w, priv->fullmodes[mode]->h, priv->bpp, priv->sdlfullflags);
-
- /* if we were successfull hide the mouse cursor and save the mode */
- if (newsurface) {
- priv->surface = newsurface;
- SDL_ShowCursor(0);
- }
-}
-
-
-/**
- * Initialize an SDL surface and an SDL YUV overlay.
- *
- * params : width == width of video we'll be displaying.
- * height == height of video we'll be displaying.
- * fullscreen == want to be fullscreen?
- * title == Title for window titlebar.
- * returns : non-zero on success, zero on error.
- **/
-
-static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
-//static int sdl_setup (int width, int height)
-{
- struct sdl_priv_s *priv = &sdl_priv;
- unsigned int sdl_format;
-
- switch(format){
- case IMGFMT_YV12: sdl_format=SDL_YV12_OVERLAY;break;