diff options
Diffstat (limited to 'src/jogl/native/libav/ffmpeg_impl_template.c')
-rw-r--r-- | src/jogl/native/libav/ffmpeg_impl_template.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/jogl/native/libav/ffmpeg_impl_template.c b/src/jogl/native/libav/ffmpeg_impl_template.c index ca283ef52..d02770eb7 100644 --- a/src/jogl/native/libav/ffmpeg_impl_template.c +++ b/src/jogl/native/libav/ffmpeg_impl_template.c @@ -622,6 +622,7 @@ static const char * inFmtNames[] = { "video4linux", // linux (old) "dshow", // windows "vfwcap", // windows (old) + "avfoundation", // osx "mpg", "yuv2", "mjpeg", @@ -732,6 +733,9 @@ JNIEXPORT void JNICALL FF_FUNC(setStream0) fprintf(stderr, "Camera %d not found\n", devIdx); } } + if(pAV->verbose) { + fprintf(stderr, "Camera: Filename: %s\n", filename); + } const char *sizeS = NULL != jSizeS ? (*env)->GetStringUTFChars(env, jSizeS, &iscopy) : NULL; int hasSize = 0; @@ -756,6 +760,7 @@ JNIEXPORT void JNICALL FF_FUNC(setStream0) } sp_av_dict_set(&inOpts, "framerate", buffer, 0); } + // FIXME pre-select: sp_av_dict_set(&inOpts, "pixel_format", "yuyv422", 0); } MY_MUTEX_LOCK(env, mutex_avcodec_openclose); @@ -1148,8 +1153,10 @@ JNIEXPORT void JNICALL FF_FUNC(setStream0) #endif } else { vLinesize[0] = pAV->pVFrame->linesize[0]; - if( pAV->vPixFmt == PIX_FMT_YUYV422 ) { - // Stuff 2x 16bpp (YUYV) into one RGBA pixel! + if( pAV->vPixFmt == PIX_FMT_YUYV422 || + pAV->vPixFmt == PIX_FMT_UYVY422 ) + { + // Stuff 2x 16bpp (YUYV, UYVY) into one RGBA pixel! pAV->vTexWidth[0] = pAV->pVCodecCtx->width / 2; } else { pAV->vTexWidth[0] = pAV->pVCodecCtx->width; |