summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorniels <niels@dyne.org>2014-11-23 17:45:48 (GMT)
committer niels <niels@dyne.org>2014-11-23 17:45:48 (GMT)
commita3a400b7c12fb85c8953f0c1597944766615bf38 (patch)
tree1836b77939e6555f2d83876fbfde4399d44c6df2
parent37bcfb50baa4f5afd2e2b7d0d1b890c0cb0bbac7 (diff)
show env var when not set, fix bug in free of sample's editlist, check edit_list before calling cache reset, deal with changing pixel formats in combined editlist, add SSE2 , MMX2 flags to scaler initializationv1.5.32
-rw-r--r--veejay-current/veejay-server/libel/vj-el.c7
-rw-r--r--veejay-current/veejay-server/libsample/sampleadm.c38
-rw-r--r--veejay-current/veejay-server/libstream/v4l2utils.c10
-rw-r--r--veejay-current/veejay-server/libstream/v4lvideo.c3
-rw-r--r--veejay-current/veejay-server/libstream/vj-tag.c3
-rw-r--r--veejay-current/veejay-server/libstream/vj-vloopback.c3
-rw-r--r--veejay-current/veejay-server/libvjnet/vj-server.c5
-rw-r--r--veejay-current/veejay-server/libyuv/yuvconv.c210
-rw-r--r--veejay-current/veejay-server/veejay/liblavplayvj.c29
-rw-r--r--veejay-current/veejay-server/veejay/vj-sdl.c5
10 files changed, 235 insertions, 78 deletions
diff --git a/veejay-current/veejay-server/libel/vj-el.c b/veejay-current/veejay-server/libel/vj-el.c
index 700258c..7305921 100644
--- a/veejay-current/veejay-server/libel/vj-el.c
+++ b/veejay-current/veejay-server/libel/vj-el.c
@@ -462,8 +462,10 @@ void vj_el_setup_cache( editlist *el )
void vj_el_clear_cache( editlist *el )
{
- if(el->cache)
- reset_cache(el->cache);
+ if( el != NULL ) {
+ if(el->cache)
+ reset_cache(el->cache);
+ }
}
void vj_el_deinit()
@@ -2200,6 +2202,7 @@ void vj_el_free(editlist *el)
}
if( el->scaler )
yuv_free_swscaler( el->scaler );
+
free(el);
el = NULL;
diff --git a/veejay-current/veejay-server/libsample/sampleadm.c b/veejay-current/veejay-server/libsample/sampleadm.c
index c31cd46..a146346 100644
--- a/veejay-current/veejay-server/libsample/sampleadm.c
+++ b/veejay-current/veejay-server/libsample/sampleadm.c
@@ -885,7 +885,7 @@ int sample_del(int sample_id)
if(si->edit_list)
{
- vj_el_free(si->edit_list);
+ //vj_el_free(si->edit_list);
si->edit_list = NULL;
}
if(si->encoder_base )
@@ -917,22 +917,54 @@ int sample_del(int sample_id)
return 0;
}
+static void sample_free_el(void *port) {
+ int i;
+ char **keys = vevo_list_properties(port);
+ if(keys) {
+ for( i = 0; keys[i] != NULL; i ++ ) {
+ void *el = NULL;
+ if(vevo_property_get(port, keys[i], 0, &el ) == VEVO_NO_ERROR ) {
+ vj_el_free( (editlist*) el );
+ }
+ free(keys[i]);
+ }
+ free(keys);
+ }
+}
void sample_del_all()
{
int end = sample_size();
int i;
+ editlist *el = NULL;
+
+ void *port = vpn(VEVO_ANONYMOUS_PORT);
+
for (i = 1; i < end; i++) {
if (sample_exists(i)) {
sample_chain_clear(i);
+ sample_info *si = sample_get(i);
+ if(si->edit_list) {
+ char key[32];
+ snprintf(key, "p%p", si->edit_list );
+ if( vevo_property_get( port, key, 0, NULL ) == VEVO_ERROR_NOSUCH_PROPERTY ) {
+ vevo_property_set( port, key, VEVO_ATOM_TYPE_VOIDPTR,1,&(si->edit_list));
+ }
+ }
+
sample_del(i);
}
- }
+ }
+
+ sample_free_el( port );
+
+ vpf(port);
+
memset( avail_num, 0, sizeof(int) * SAMPLE_MAX_SAMPLES );
next_avail_num = 0;
- this_sample_id = 0;
+ this_sample_id = 0;
hash_free_nodes( SampleHash );
diff --git a/veejay-current/veejay-server/libstream/v4l2utils.c b/veejay-current/veejay-server/libstream/v4l2utils.c
index 4729720..c1f6c48 100644
--- a/veejay-current/veejay-server/libstream/v4l2utils.c
+++ b/veejay-current/veejay-server/libstream/v4l2utils.c
@@ -623,6 +623,10 @@ static int v4l2_negotiate_pixel_format( v4l2info *v, int host_fmt, int wid, int
}
}
}
+ else
+ {
+ veejay_msg(VEEJAY_MSG_DEBUG,"env VEEJAY_V4L2_GREYSCALE_ONLY=[0|1] not set");
+ }
//@ does capture card support our native format
int supported = v4l2_tryout_pixel_format( v, native_pixel_format, wid, hei,dw,dh,candidate );
@@ -931,7 +935,7 @@ void *v4l2open ( const char *file, const int input_channel, int host_fmt, int wi
break;
}
} else {
- veejay_msg(VEEJAY_MSG_DEBUG, "v4l2: Preferring mmap() capture, override with VEEJAY_V4L2_CAPTURE_METHOD=0");
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_V4L2_CAPTURE_METHOD=[0|1] not set , defaulting to mmap() capture");
cap_read = 1;
}
}
@@ -1921,6 +1925,10 @@ static void *v4l2_grabber_thread( void *v )
if(retry) {
max_retries = atoi( retry );
}
+ else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_V4L2_MAX_RETRIES=[Num] not set (defaulting to %d)", max_retries );
+ }
+
if( max_retries < 0 || max_retries > 99999 ) {
max_retries = 15;
veejay_msg(VEEJAY_MSG_WARNING, "v4l2: VEEJAY_V4L2_MAX_RETRIES out of bounds, set to default (%d)",max_retries);
diff --git a/veejay-current/veejay-server/libstream/v4lvideo.c b/veejay-current/veejay-server/libstream/v4lvideo.c
index 7e0a75d..ed6330a 100644
--- a/veejay-current/veejay-server/libstream/v4lvideo.c
+++ b/veejay-current/veejay-server/libstream/v4lvideo.c
@@ -464,6 +464,9 @@ static v4lprocessing *v4lvideo_get_processing( v4lvideo_t *v, int w, int h, int
(p->src_fmt==PIX_FMT_RGB24? "RGB" : "BGR" ));
}
}
+ else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_SWAP_RGB=[0|1] not set");
+ }
p->src = yuv_rgb_template( NULL, p->w,p->h, p->src_fmt );
}
else {
diff --git a/veejay-current/veejay-server/libstream/vj-tag.c b/veejay-current/veejay-server/libstream/vj-tag.c
index 0c81586..b64ba25 100644
--- a/veejay-current/veejay-server/libstream/vj-tag.c
+++ b/veejay-current/veejay-server/libstream/vj-tag.c
@@ -311,6 +311,9 @@ int vj_tag_init(int width, int height, int pix_fmt, int video_driver)
if( v4l2threading ) {
no_v4l2_threads_ = atoi(v4l2threading);
}
+ else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_V4L2_NO_THREADING=[0|1] not set");
+ }
return 0;
diff --git a/veejay-current/veejay-server/libstream/vj-vloopback.c b/veejay-current/veejay-server/libstream/vj-vloopback.c
index 2caec11..6a0ace0 100644
--- a/veejay-current/veejay-server/libstream/vj-vloopback.c
+++ b/veejay-current/veejay-server/libstream/vj-vloopback.c
@@ -188,6 +188,9 @@ int vj_vloopback_start_pipe( void *vloop )
v->iov = atoi(dbg);
veejay_msg(VEEJAY_MSG_INFO,"vloop: debug level set to %d", v->iov );
}
+ else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_LOOPBACK_DEBUG=[0|1] not set");
+ }
#ifdef HAVE_V4L
struct video_capability caps;
diff --git a/veejay-current/veejay-server/libvjnet/vj-server.c b/veejay-current/veejay-server/libvjnet/vj-server.c
index 650f4c1..0c5a1cf 100644
--- a/veejay-current/veejay-server/libvjnet/vj-server.c
+++ b/veejay-current/veejay-server/libvjnet/vj-server.c
@@ -365,6 +365,9 @@ vj_server *vj_server_alloc(int port_offset, char *mcast_group_name, int type)
veejay_msg(VEEJAY_MSG_INFO, "Changed receive buffer size to %d bytes (%2.2fKb)",
vjs->recv_bufsize, (float) vjs->recv_bufsize / 1024.0f );
}
+ else {
+ veejay_msg(VEEJAY_MSG_DEBUG,"env VEEJAY_SERVER_RECEIVE_BUFFER_SIZE=[num bytes] not set");
+ }
#ifdef STRICT_CHECKING
char *netlog = getenv("VEEJAY_LOG_NET_IO" );
@@ -381,6 +384,8 @@ vj_server *vj_server_alloc(int port_offset, char *mcast_group_name, int type)
fprintf( vjs->logfd, "Server setup: port %d, name %s type %d\n", port_offset,mcast_group_name,type);
fprintf( vjs->logfd, "receive buffer size: %d bytes\n", vjs->recv_bufsize);
}
+ } else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_LOG_NET_IO=logfile not set");
}
#endif
diff --git a/veejay-current/veejay-server/libyuv/yuvconv.c b/veejay-current/veejay-server/libyuv/yuvconv.c
index c3b4cbe..69900c0 100644
--- a/veejay-current/veejay-server/libyuv/yuvconv.c
+++ b/veejay-current/veejay-server/libyuv/yuvconv.c
@@ -64,6 +64,9 @@ typedef struct
SwsFilter *src_filter;
SwsFilter *dst_filter;
int cpu_flags;
+ int format;
+ int width;
+ int height;
} vj_sws;
static int sws_context_flags_ = 0;
@@ -577,6 +580,7 @@ void *yuv_fx_context_create( VJFrame *src, VJFrame *dst, int src_fmt, int dst_fm
void yuv_fx_context_process( void *ctx, VJFrame *src, VJFrame *dst )
{
+ //FIXME
sws_scale( (struct SwsContext*) ctx, src->data, src->stride,0,src->height,dst->data,dst->stride );
}
@@ -601,43 +605,13 @@ void yuv_convert_any3( void *scaler, VJFrame *src, int src_stride[3], VJFrame *d
assert( dst->data[0] != NULL );
#endif
vj_sws *s = (vj_sws*) scaler;
- s->sws = sws_getCachedContext(
- s->sws,
- src->width,
- src->height,
- src_fmt,
- dst->width,
- dst->height,
- dst_fmt,
- s->cpu_flags,
- NULL,
- NULL,
- NULL
- );
-
- if(!s->sws)
- {
- veejay_msg(0,"sws_getContext failed.");
- if(s)free(s);
- return;
- }
-/*
- struct SwsContext *ctx = sws_getContext(
- src->width,
- src->height,
- src_fmt,
- dst->width,
- dst->height,
- dst_fmt,
- sws_context_flags_,
- NULL,NULL,NULL );
- */
- int dst_stride[3] = { ru4(dst->width),ru4(dst->uv_width),ru4(dst->uv_width) };
- sws_scale( s->sws, src->data, src_stride, 0, src->height, dst->data, dst_stride);
- //sws_freeContext( ctx );
-
-}
+ if(s->sws) {
+ int dst_stride[3] = { ru4(dst->width),ru4(dst->uv_width),ru4(dst->uv_width) };
+ sws_scale( s->sws, src->data, src_stride, 0, src->height, dst->data, dst_stride);
+
+ }
+}
/* convert 4:2:0 to yuv 4:2:2 packed */
@@ -1039,31 +1013,32 @@ int luminance_mean(uint8_t * frame[], int w, int h)
void* yuv_init_swscaler(VJFrame *src, VJFrame *dst, sws_template *tmpl, int cpu_flagss)
{
- vj_sws *s = (vj_sws*) vj_malloc(sizeof(vj_sws));
+ vj_sws *s = (vj_sws*) vj_calloc(sizeof(vj_sws));
if(!s)
return NULL;
int sws_type = 0;
+ int cpu_flags = 0;
- veejay_memset( s, 0, sizeof(vj_sws) );
-
- int cpu_flags = 0;
#ifdef STRICT_CHECKING
cpu_flags = cpu_flags | SWS_PRINT_INFO;
#endif
-
#ifdef HAVE_ASM_MMX
cpu_flags = cpu_flags | SWS_CPU_CAPS_MMX;
#endif
-//#ifdef HAVE_ASM_3DNOW
-// cpu_flags = cpu_flags | SWS_CPU_CAPS_3DNOW;
-//#endif
-//#ifdef HAVE_ASM_MMX2
-// cpu_flags = cpu_flags | SWS_CPU_CAPS_MMX2;
-//#endif
-//#ifdef HAVE_ALTIVEC
-// cpu_flags = cpu_flags | SWS_CPU_CAPS_ALTIVEC;
-//#endif
+#ifdef HAVE_ASM_MMX2
+ cpu_flags = cpu_flags | SWS_CPU_CAPS_MMX2;
+#endif
+#ifdef HAVE_ASM_3DNOW
+ cpu_flags = cpu_flags | SWS_CPU_CAPS_3DNOW;
+#endif
+#ifdef HAVE_ASM_SSE2
+ cpu_flags = cpu_flags | SWS_CPU_CAPS_SSE2;
+#endif
+#ifdef HAVE_ALTIVEC
+ cpu_flags = cpu_flags | SWS_CPU_CAPS_ALTIVEC;
+#endif
+
switch(tmpl->flags)
{
case 1:
@@ -1123,21 +1098,19 @@ void* yuv_init_swscaler(VJFrame *src, VJFrame *dst, sws_template *tmpl, int cpu_
if(s)free(s);
return NULL;
}
-
+ else
+ {
+ veejay_msg(VEEJAY_MSG_DEBUG, "sws context: %dx%d in %d -> %dx%d in %d",
+ src->width,src->height,src->format, dst->width,dst->height,dst->format );
+ }
return ((void*)s);
}
-void* yuv_init_cached_swscaler(void *cache,VJFrame *src, VJFrame *dst, sws_template *tmpl, int cpu_flags)
+static void *yuv_init_sws_cached_context(vj_sws *s, VJFrame *src, VJFrame *dst, sws_template *tmpl, int cpu_flagss)
{
- vj_sws *s = (vj_sws*) vj_malloc(sizeof(vj_sws));
- if(!s)
- return NULL;
- vj_sws *in = (vj_sws*) cache;
-
int sws_type = 0;
-
- veejay_memset( s, 0, sizeof(vj_sws) );
+ int cpu_flags = 0;
#ifdef STRICT_CHECKING
cpu_flags = cpu_flags | SWS_PRINT_INFO;
@@ -1146,24 +1119,115 @@ void* yuv_init_cached_swscaler(void *cache,VJFrame *src, VJFrame *dst, sws_templ
#ifdef HAVE_ASM_MMX
cpu_flags = cpu_flags | SWS_CPU_CAPS_MMX;
#endif
+#ifdef HAVE_ASM_MMX2
+ cpu_flags = cpu_flags | SWS_CPU_CAPS_MMX2;
+#endif
+#ifdef HAVE_ASM_3DNOW
+ cpu_flags = cpu_flags | SWS_CPU_CAPS_3DNOW;
+#endif
+#ifdef HAVE_ASM_SSE2
+ cpu_flags = cpu_flags | SWS_CPU_CAPS_SSE2;
+#endif
+#ifdef HAVE_ALTIVEC
+ cpu_flags = cpu_flags | SWS_CPU_CAPS_ALTIVEC;
+#endif
+ switch(tmpl->flags)
+ {
+ case 1:
+ cpu_flags = cpu_flags|SWS_FAST_BILINEAR;
+ break;
+ case 2:
+ cpu_flags = cpu_flags|SWS_BILINEAR;
+ break;
+ case 4:
+ cpu_flags = cpu_flags|SWS_BICUBIC;
+ break;
+ case 3:
+ cpu_flags = cpu_flags |SWS_POINT;
+ break;
+ case 5:
+ cpu_flags = cpu_flags|SWS_X;
+ break;
+ case 6:
+ cpu_flags = cpu_flags | SWS_AREA;
+ break;
+ case 7:
+ cpu_flags = cpu_flags | SWS_BICUBLIN;
+ break;
+ case 8:
+ cpu_flags = cpu_flags | SWS_GAUSS;
+ break;
+ case 9:
+ cpu_flags = cpu_flags | SWS_SINC;
+ break;
+ case 10:
+ cpu_flags = cpu_flags |SWS_LANCZOS;
+ break;
+ case 11:
+ cpu_flags = cpu_flags | SWS_SPLINE;
+ break;
+ }
- cpu_flags = cpu_flags | SWS_FAST_BILINEAR;
+ if( full_chroma_interpolation_ )
+ cpu_flags = cpu_flags | SWS_FULL_CHR_H_INT;
- s->sws = NULL;
+ if( !sws_isSupportedInput( src->format ) ) {
+ veejay_msg(VEEJAY_MSG_DEBUG, "No support for input format");
+ }
+ if( !sws_isSupportedOutput( dst->format ) ) {
+ veejay_msg(VEEJAY_MSG_DEBUG, "No support for output format");
+ }
- if( cache != NULL && in->sws ) {
- s->sws = in->sws;
- in->sws = NULL;
- yuv_free_swscaler( in ); //@ clean up old ctx now
- in = NULL;
- }
+ if( s->sws != NULL ) {
+ if( s->width != src->width || s->format != src->format || s->height != src->height ) {
+ sws_freeContext( s->sws );
+ s->sws = NULL;
+ }
+ }
- if( full_chroma_interpolation_ )
- cpu_flags = cpu_flags | SWS_FULL_CHR_H_INT;
+ if( s->sws == NULL ) {
+ s->sws = sws_getContext(
+ src->width,
+ src->height,
+ src->format,
+ dst->width,
+ dst->height,
+ dst->format,
+ cpu_flags,
+ s->src_filter,
+ s->dst_filter,
+ NULL
+ );
+ s->width = src->width;
+ s->height = src->height;
+ s->format = src->format;
+ veejay_msg(VEEJAY_MSG_DEBUG, "sws new context: %dx%d in %d -> %dx%d in %d",
+ src->width,src->height,src->format, dst->width,dst->height,dst->format );
+ }
+
+ if( s->sws == NULL )
+ {
+ veejay_msg(VEEJAY_MSG_ERROR,"Failed to get scaler context for %dx%d in %d -> %dx%d in %d",
+ src->width,src->height,src->format, dst->width,dst->height,dst->format );
+
+ return NULL;
+ }
+
+
+ return (void*) s;
+}
- s->cpu_flags = cpu_flags;
- return s;
+void* yuv_init_cached_swscaler(void *cache,VJFrame *src, VJFrame *dst, sws_template *tmpl, int cpu_flags)
+{
+ vj_sws *ctx = (vj_sws*) cache;
+ if( ctx == NULL )
+ {
+ ctx = (vj_sws*) vj_calloc(sizeof(vj_sws));
+ return yuv_init_sws_cached_context(ctx,src, dst, tmpl, cpu_flags);
+ }
+
+ return yuv_init_sws_cached_context( ctx, src, dst, tmpl, cpu_flags);
}
@@ -1230,8 +1294,12 @@ void yuv_free_swscaler(void *sws)
{
vj_sws *s = (vj_sws*) sws;
if(s->sws)
+ {
sws_freeContext( s->sws );
+ s->sws = NULL;
+ }
if(s) free(s);
+ sws = NULL;
}
}
diff --git a/veejay-current/veejay-server/veejay/liblavplayvj.c b/veejay-current/veejay-server/veejay/liblavplayvj.c
index e9be39f..d0fa66e 100644
--- a/veejay-current/veejay-server/veejay/liblavplayvj.c
+++ b/veejay-current/veejay-server/veejay/liblavplayvj.c
@@ -2390,6 +2390,9 @@ int veejay_init(veejay_t * info, int x, int y,char *arg, int def_tags, int gen_t
char *chanid = getenv("VEEJAY_DEFAULT_CHANNEL");
if(chanid != NULL )
default_chan = atoi(chanid);
+ else
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_DEFAULT_CHANNEL=channel not set (defaulting to 1)");
+
snprintf(vidfile,sizeof(vidfile),"/dev/video%d", (def_tags-1));
int nid = veejay_create_tag( info, VJ_TAG_TYPE_V4L, vidfile, info->nstreams, default_chan, (def_tags-1) );
if( nid> 0)
@@ -3167,23 +3170,38 @@ veejay_t *veejay_malloc()
if( interpolate_chroma ) {
sscanf( interpolate_chroma, "%d", &status );
}
+ else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_INTERPOLATE_CHROMA=[0|1] not set");
+ }
char *auto_ccir_jpeg = getenv("VEEJAY_AUTO_SCALE_PIXELS");
if( auto_ccir_jpeg ) {
sscanf( auto_ccir_jpeg, "%d", &acj );
}
+ else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_AUTO_SCALE_PIXELS=[0|1] not set");
+ }
char *key_repeat_interval = getenv("VEEJAY_SDL_KEY_REPEAT_INTERVAL");
char *key_repeat_delay = getenv("VEEJAY_SDL_KEY_REPEAT_DELAY");
if(key_repeat_interval) {
sscanf( key_repeat_interval, "%d", &(info->settings->repeat_interval));
}
+ else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_SDL_KEY_REPEAT_INTERVAL=[Num] not set");
+ }
if( key_repeat_delay) {
sscanf( key_repeat_delay, "%d", &(info->settings->repeat_delay));
}
+ else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_SDL_KEY_REPEAT_DELAY=[Num] not set");
+ }
char *best_performance = getenv( "VEEJAY_PERFORMANCE");
int default_zoomer = 1;
+ if(!best_performance) {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_PERFORMANCE=[fastest|quality] not set");
+ }
char *max_cache = getenv( "VEEJAY_PLAYBACK_CACHE");
if( max_cache ) {
@@ -3195,6 +3213,8 @@ veejay_t *veejay_malloc()
}
if( mb == 0 )
info->no_caching = 0;
+ } else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_PLAYBACK_CACHE=[megabytes] not set");
}
char *sdlfs = getenv("VEEJAY_FULLSCREEN");
@@ -3205,6 +3225,8 @@ veejay_t *veejay_malloc()
(val== 1 ? "fullscreen" : "windowed" ) );
info->settings->full_screen = val;
}
+ } else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_FULLSCREEN=[0|1] not set");
}
info->pause_render = 1;// old behaviour was always to pause everything on speed=0
@@ -3218,6 +3240,8 @@ veejay_t *veejay_malloc()
"stop rendering on pause" ) );
info->pause_render = val;
}
+ } else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_PAUSE_EVERYTHING=[0|1] (continues rendering is ON)");
}
if( best_performance) {
@@ -3887,7 +3911,6 @@ static int veejay_open_video_files(veejay_t *info, char **files, int num_files,
if(num_files<=0 || files == NULL)
{
- veejay_msg(VEEJAY_MSG_WARNING, "Fallback to dummy - no video files given at commandline");
info->dummy->active = 1;
}
@@ -3920,6 +3943,9 @@ static int veejay_open_video_files(veejay_t *info, char **files, int num_files,
dh = dh / 2;
}
}
+ else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_RUN_MODE not set to CLASSIC");
+ }
if( !info->dummy->width )
info->dummy->width = dw;
@@ -3953,6 +3979,7 @@ static int veejay_open_video_files(veejay_t *info, char **files, int num_files,
veejay_msg(VEEJAY_MSG_DEBUG, "Dummy Audio: %f KHz, %d channels, %d bps, %d bit audio",
(float)el->audio_rate/1000.0,el->audio_chans,el->audio_bps,el->audio_bits);
}
+
veejay_msg(VEEJAY_MSG_DEBUG,"Dummy Video: %dx%d, chroma %x, framerate %2.2f, norm %s",
info->dummy->width,info->dummy->height, info->dummy->chroma,info->dummy->fps,
(info->dummy->norm == 'n' ? "NTSC" :"PAL"));
diff --git a/veejay-current/veejay-server/veejay/vj-sdl.c b/veejay-current/veejay-server/veejay/vj-sdl.c
index 0db7f63..4d19fba 100644
--- a/veejay-current/veejay-server/veejay/vj-sdl.c
+++ b/veejay-current/veejay-server/veejay/vj-sdl.c
@@ -212,6 +212,10 @@ int vj_sdl_init(int ncpu, vj_sdl * vjsdl, int scaled_width, int scaled_height, c
{
hw_on = atoi(hw_env);
}
+ else {
+ veejay_msg(VEEJAY_MSG_DEBUG, "env SDL_VIDEO_HWACCEL=[0|1] not set");
+ }
+
int extra_flags = (ncpu > 1 ? SDL_ASYNCBLIT : 0 );
int extra_fs_flags = 0;
int manual_positioning = 0;
@@ -224,6 +228,7 @@ int vj_sdl_init(int ncpu, vj_sdl * vjsdl, int scaled_width, int scaled_height, c
manual_positioning = 1;
} else {
extra_fs_flags = SDL_FULLSCREEN;
+ veejay_msg(VEEJAY_MSG_DEBUG, "env VEEJAY_SCREEN_GEOMETRY and VEEJAY_SCREEN_SIZE not set");
}
if (SDL_Init(SDL_INIT_VIDEO) < 0)