112 lines
2.7 KiB
C
112 lines
2.7 KiB
C
#ifndef _VIDEO_H
|
|
#define _VIDEO_H
|
|
|
|
#include "../video.h"
|
|
|
|
/*=
|
|
Video playback
|
|
4100
|
|
**/
|
|
|
|
// Introduction
|
|
/**
|
|
Raydium supports simple video playback, thru a special video codec (JPGS),
|
|
useful for menus enhancements, "speaking" thumbnails, ...
|
|
This codec only supports video, use sound API if needed.
|
|
You will find an small utility, ##mk_jpgs## in Raydium source tree, didacted to
|
|
movie creation.
|
|
**/
|
|
|
|
// How to create a movie ?
|
|
/**
|
|
First, compile ##mk_jpgs##: example: ##gcc mk_jpgs.c -o mk_jpgs## or any other
|
|
standard build command.
|
|
Then, generate JPEG pictures (using a temporary directory, if possible):
|
|
##mplayer movie.avi -vo jpeg:quality=50 -vf scale=256:256##, where you may
|
|
change quality factor and output size. Use "hardware friendly" sizes (64,
|
|
128,256,...) !
|
|
You can now build JPGS file:
|
|
##./mk_jpgs 25 256 256 video.jpgs## (fps, size x, size y, output file)
|
|
**/
|
|
|
|
__rayapi void raydium_video_init(void);
|
|
/**
|
|
Internal use.
|
|
**/
|
|
|
|
__rayapi signed char raydium_video_isvalid(int i);
|
|
/**
|
|
Internal use, but you can call this function if you want to verify if a
|
|
video id is valid (in bounds and open).
|
|
**/
|
|
|
|
__rayapi int raydium_video_find_free(void);
|
|
/**
|
|
Internal use.
|
|
Finds a free video slot.
|
|
**/
|
|
|
|
__rayapi int raydium_video_find(char *name);
|
|
/**
|
|
Resolvs video ##name##, returning video id.
|
|
Returns -1 when video is not found.
|
|
**/
|
|
|
|
__rayapi void raydium_video_jpeg_decompress(FILE *fp,unsigned char *to);
|
|
/**
|
|
Internal.
|
|
**/
|
|
|
|
__rayapi int raydium_video_open(char *filename, char *as);
|
|
/**
|
|
This function will open and prepare video ##filename##, and will attach
|
|
this video to a "live texture" (see Live API chapter, if needed).
|
|
**/
|
|
|
|
__rayapi void raydium_video_callback_video(int id);
|
|
/**
|
|
Internal use.
|
|
**/
|
|
|
|
__rayapi void raydium_video_callback(void);
|
|
/**
|
|
Internal use. Frame callback.
|
|
**/
|
|
|
|
__rayapi void raydium_video_delete(int id);
|
|
/**
|
|
Will delete video ##id##. Warning: this function will not delete
|
|
associated Live texture, so you may open a new video with the same
|
|
texture name, but video size must be the same a the previous one.
|
|
**/
|
|
|
|
__rayapi void raydium_video_delete_name(char *name);
|
|
/**
|
|
Same as above, using video name.
|
|
**/
|
|
|
|
__rayapi void raydium_video_loop(int id, signed char loop);
|
|
/**
|
|
Sets loop attribute for the video ##id##. By defaults, video loops. Call
|
|
this function with loop=0 to disable this behavior.
|
|
**/
|
|
|
|
__rayapi void raydium_video_loop_name(char *name, signed char loop);
|
|
/**
|
|
Same as above, using video name.
|
|
**/
|
|
|
|
__rayapi signed char raydium_video_isplaying(int id);
|
|
/**
|
|
Returns **1** is video ##id## is playing, **0** if this video is stopped,
|
|
and **-1** if function failed.
|
|
**/
|
|
|
|
__rayapi signed char raydium_video_isplaying_name(char *name);
|
|
/**
|
|
Same as above, using video name.
|
|
**/
|
|
|
|
|
|
#endif
|