mirror of
https://github.com/outbackdingo/UltraGrid.git
synced 2026-03-20 10:40:09 +00:00
Update API for video display
* pass video frame as an argument (not a fake one) * currently all restriction apply as before (see video_display.h)
This commit is contained in:
@@ -327,7 +327,7 @@ AC_SUBST(common_lib_abi_version)
|
||||
AC_SUBST(COMMON_LIB_TARGET, "lib/ultragrid/ug_lib_common.so.$common_lib_abi_version")
|
||||
LIB_TARGETS="$LIB_TARGETS $COMMON_LIB_TARGET"
|
||||
|
||||
video_display_abi_version=2
|
||||
video_display_abi_version=3
|
||||
video_capture_abi_version=2
|
||||
video_compress_abi_version=1
|
||||
video_decompress_abi_version=2
|
||||
|
||||
@@ -647,7 +647,7 @@ static void *receiver_thread(void *arg)
|
||||
gettimeofday(&uv->curr_time, NULL);
|
||||
fr = 1;
|
||||
display_put_frame(uv->display_device,
|
||||
(char *) cp->video_decoder_state->frame_buffer);
|
||||
cp->video_decoder_state->frame_buffer);
|
||||
cp->video_decoder_state->frame_buffer =
|
||||
display_get_frame(uv->display_device);
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ typedef struct {
|
||||
const char *func_finish_str;
|
||||
struct video_frame *(*func_getf) (void *state);
|
||||
const char *func_getf_str;
|
||||
int (*func_putf) (void *state, char *frame);
|
||||
int (*func_putf) (void *state, struct video_frame *frame);
|
||||
const char *func_putf_str;
|
||||
int (*func_reconfigure)(void *state, struct video_desc desc);
|
||||
const char *func_reconfigure_str;
|
||||
@@ -461,7 +461,7 @@ struct video_frame *display_get_frame(struct display *d)
|
||||
return display_device_table[d->index].func_getf(d->state);
|
||||
}
|
||||
|
||||
void display_put_frame(struct display *d, char *frame)
|
||||
void display_put_frame(struct display *d, struct video_frame *frame)
|
||||
{
|
||||
perf_record(UVP_PUTFRAME, frame);
|
||||
assert(d->magic == DISPLAY_MAGIC);
|
||||
|
||||
@@ -131,13 +131,19 @@ void display_finish(struct display *d);
|
||||
|
||||
/**
|
||||
* Returns video frame which will be written to.
|
||||
* Currently there is a restriction on number of concurrently acquired frames - only one frame
|
||||
* can be hold at the moment.
|
||||
*
|
||||
* @return video frame
|
||||
*/
|
||||
struct video_frame *display_get_frame(struct display *d);
|
||||
/* TODO: figure out what with frame parameter, which is no longer used. Leave out? */
|
||||
/**
|
||||
* Puts filled video frame.
|
||||
* Currnetly, it must be the frame previously obtained by display_get_frame. Moreover, every frame
|
||||
* acquired from video display should be put.
|
||||
*/
|
||||
void display_put_frame(struct display *d, char *frame);
|
||||
void display_put_frame(struct display *d, struct video_frame *frame);
|
||||
/**
|
||||
* Tells display to reconfigure according to video description
|
||||
*/
|
||||
|
||||
@@ -236,7 +236,7 @@ struct video_frame *display_aggregate_getf(void *state)
|
||||
return s->frame;
|
||||
}
|
||||
|
||||
int display_aggregate_putf(void *state, char *frame)
|
||||
int display_aggregate_putf(void *state, struct video_frame *frame)
|
||||
{
|
||||
unsigned int i;
|
||||
struct display_aggregate_state *s = (struct display_aggregate_state *)state;
|
||||
|
||||
@@ -57,7 +57,7 @@ void display_aggregate_run(void *state);
|
||||
void display_aggregate_finish(void *state);
|
||||
void display_aggregate_done(void *state);
|
||||
struct video_frame *display_aggregate_getf(void *state);
|
||||
int display_aggregate_putf(void *state, char *frame);
|
||||
int display_aggregate_putf(void *state, struct video_frame *frame);
|
||||
int display_aggregate_reconfigure(void *state, struct video_desc desc);
|
||||
int display_aggregate_get_property(void *state, int property, void *val, size_t *len);
|
||||
|
||||
|
||||
@@ -409,7 +409,7 @@ static void update_timecode(DeckLinkTimecode *tc, double fps)
|
||||
tc->SetBCD(bcd);
|
||||
}
|
||||
|
||||
int display_decklink_putf(void *state, char *frame)
|
||||
int display_decklink_putf(void *state, struct video_frame *frame)
|
||||
{
|
||||
int tmp;
|
||||
struct state_decklink *s = (struct state_decklink *)state;
|
||||
|
||||
@@ -55,7 +55,7 @@ void display_decklink_run(void *state);
|
||||
void display_decklink_finish(void *state);
|
||||
void display_decklink_done(void *state);
|
||||
struct video_frame *display_decklink_getf(void *state);
|
||||
int display_decklink_putf(void *state, char *frame);
|
||||
int display_decklink_putf(void *state, struct video_frame *frame);
|
||||
int display_decklink_reconfigure(void *state,
|
||||
struct video_desc desc);
|
||||
int display_decklink_get_property(void *state, int property, void *val, size_t *len);
|
||||
|
||||
@@ -165,7 +165,7 @@ display_deltacast_getf(void *state)
|
||||
return s->frame;
|
||||
}
|
||||
|
||||
int display_deltacast_putf(void *state, char *frame)
|
||||
int display_deltacast_putf(void *state, struct video_frame *frame)
|
||||
{
|
||||
int tmp;
|
||||
struct state_deltacast *s = (struct state_deltacast *)state;
|
||||
|
||||
@@ -68,7 +68,7 @@ void display_deltacast_run(void *state);
|
||||
void display_deltacast_finish(void *state);
|
||||
void display_deltacast_done(void *state);
|
||||
struct video_frame *display_deltacast_getf(void *state);
|
||||
int display_deltacast_putf(void *state, char *frame);
|
||||
int display_deltacast_putf(void *state, struct video_frame *frame);
|
||||
int display_deltacast_reconfigure(void *state,
|
||||
struct video_desc desc);
|
||||
int display_deltacast_get_property(void *state, int property, void *val, size_t *len);
|
||||
|
||||
@@ -493,7 +493,7 @@ display_dvs_getf(void *state)
|
||||
return s->frame;
|
||||
}
|
||||
|
||||
int display_dvs_putf(void *state, char *frame)
|
||||
int display_dvs_putf(void *state, struct video_frame *frame)
|
||||
{
|
||||
struct state_hdsp *s = (struct state_hdsp *)state;
|
||||
struct timeval t;
|
||||
|
||||
@@ -63,7 +63,7 @@ void display_dvs_run(void *state);
|
||||
void display_dvs_finish(void *state);
|
||||
void display_dvs_done(void *state);
|
||||
struct video_frame *display_dvs_getf(void *state);
|
||||
int display_dvs_putf(void *state, char *frame);
|
||||
int display_dvs_putf(void *state, struct video_frame *frame);
|
||||
int display_dvs_reconfigure(void *state,
|
||||
struct video_desc desc);
|
||||
int display_dvs_get_property(void *state, int property, void *val, size_t *len);
|
||||
|
||||
@@ -1100,7 +1100,7 @@ struct video_frame * display_gl_getf(void *state)
|
||||
return s->frame;
|
||||
}
|
||||
|
||||
int display_gl_putf(void *state, char *frame)
|
||||
int display_gl_putf(void *state, struct video_frame *frame)
|
||||
{
|
||||
struct state_gl *s = (struct state_gl *) state;
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ void display_gl_run(void *state);
|
||||
void display_gl_done(void *state);
|
||||
void display_gl_finish(void *state);
|
||||
struct video_frame *display_gl_getf(void *state);
|
||||
int display_gl_putf(void *state, char *frame);
|
||||
int display_gl_putf(void *state, struct video_frame *frame);
|
||||
int display_gl_reconfigure(void *state, struct video_desc desc);
|
||||
int display_gl_get_property(void *state, int property, void *val, size_t *len);
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ struct video_frame *display_null_getf(void *state)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int display_null_putf(void *state, char *frame)
|
||||
int display_null_putf(void *state, struct video_frame *frame)
|
||||
{
|
||||
struct state_null *s = (struct state_null *)state;
|
||||
assert(s->magic == MAGIC_NULL);
|
||||
|
||||
@@ -54,7 +54,7 @@ void display_null_run(void *state);
|
||||
void display_null_finish(void *state);
|
||||
void display_null_done(void *state);
|
||||
struct video_frame *display_null_getf(void *state);
|
||||
int display_null_putf(void *state, char *frame);
|
||||
int display_null_putf(void *state, struct video_frame *frame);
|
||||
int display_null_reconfigure(void *state, struct video_desc desc);
|
||||
int display_null_get_property(void *state, int property, void *val, size_t *len);
|
||||
|
||||
|
||||
@@ -385,7 +385,7 @@ display_quicktime_getf(void *state)
|
||||
return &s->frame[0];
|
||||
}
|
||||
|
||||
int display_quicktime_putf(void *state, char *frame)
|
||||
int display_quicktime_putf(void *state, struct video_frame *frame)
|
||||
{
|
||||
struct state_quicktime *s = (struct state_quicktime *)state;
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ void display_quicktime_run(void *state);
|
||||
void display_quicktime_finish(void *state);
|
||||
void display_quicktime_done(void *state);
|
||||
struct video_frame *display_quicktime_getf(void *state);
|
||||
int display_quicktime_putf(void *state, char *frame);
|
||||
int display_quicktime_putf(void *state, struct video_frame *frame);
|
||||
int display_quicktime_reconfigure(void *state, struct video_desc desc);
|
||||
int display_quicktime_get_property(void *state, int property, void *val, size_t *len);
|
||||
|
||||
|
||||
@@ -269,7 +269,7 @@ struct video_frame *display_sage_getf(void *state)
|
||||
return s->frame;
|
||||
}
|
||||
|
||||
int display_sage_putf(void *state, char *frame)
|
||||
int display_sage_putf(void *state, struct video_frame *frame)
|
||||
{
|
||||
int tmp;
|
||||
struct state_sage *s = (struct state_sage *)state;
|
||||
|
||||
@@ -58,7 +58,7 @@ void display_sage_run(void *state);
|
||||
void display_sage_done(void *state);
|
||||
void display_sage_finish(void *state);
|
||||
struct video_frame *display_sage_getf(void *state);
|
||||
int display_sage_putf(void *state, char *frame);
|
||||
int display_sage_putf(void *state, struct video_frame *frame);
|
||||
int display_sage_reconfigure(void *state, struct video_desc desc);
|
||||
int display_sage_get_property(void *state, int property, void *val, size_t *len);
|
||||
|
||||
|
||||
@@ -706,7 +706,7 @@ struct video_frame *display_sdl_getf(void *state)
|
||||
return s->frame;
|
||||
}
|
||||
|
||||
int display_sdl_putf(void *state, char *frame)
|
||||
int display_sdl_putf(void *state, struct video_frame *frame)
|
||||
{
|
||||
int tmp;
|
||||
struct state_sdl *s = (struct state_sdl *)state;
|
||||
|
||||
@@ -57,7 +57,7 @@ void display_sdl_run (void *state);
|
||||
void display_sdl_finish(void *state);
|
||||
void display_sdl_done (void *state);
|
||||
struct video_frame * display_sdl_getf (void *state);
|
||||
int display_sdl_putf (void *state, char *frame);
|
||||
int display_sdl_putf (void *state, struct video_frame *frame);
|
||||
|
||||
int display_sdl_reconfigure(void *state, struct video_desc desc);
|
||||
int display_sdl_get_property(void *state, int property, void *val, size_t *len);
|
||||
|
||||
Reference in New Issue
Block a user