Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/neutrinolabs/NeutrinoRDP.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2013-01-06 09:21:45 +0400
committerJay Sorg <jay.sorg@gmail.com>2013-01-06 09:21:45 +0400
commit63a203a07627e1594d446d2f81d1d04d1a953c4b (patch)
treedbd1f678fa7f1a87d5691932df14d7adaf6b8c53 /libfreerdp-utils
parent97da55fc63c633d6d3497dba74706ea151ebc15a (diff)
adding the jpeg bits
Diffstat (limited to 'libfreerdp-utils')
-rw-r--r--libfreerdp-utils/args.c63
1 files changed, 62 insertions, 1 deletions
diff --git a/libfreerdp-utils/args.c b/libfreerdp-utils/args.c
index cf10519..cce71be 100644
--- a/libfreerdp-utils/args.c
+++ b/libfreerdp-utils/args.c
@@ -2,7 +2,7 @@
* FreeRDP: A Remote Desktop Protocol client.
* Arguments Parsing
*
- * Copyright 2009-2011 Jay Sorg
+ * Copyright 2009-2013 Jay Sorg <jay.sorg@gmail.com>
* Copyright 2011 Vic Lee
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,6 +23,7 @@
#include <stdlib.h>
#include <string.h>
#include <freerdp/settings.h>
+#include <freerdp/constants.h>
#include <freerdp/utils/print.h>
#include <freerdp/utils/memory.h>
#include <freerdp/utils/args.h>
@@ -86,10 +87,15 @@ int freerdp_parse_args(rdpSettings* settings, int argc, char** argv,
" --gdi: graphics rendering (hw, sw)\n"
" --no-osb: disable offscreen bitmaps\n"
" --no-bmp-cache: disable bitmap cache\n"
+ " --bcv3: codec for bitmap cache v3 (rfx, nsc, jpeg)\n"
" --plugin: load a virtual channel plugin\n"
" --rfx: enable RemoteFX\n"
" --rfx-mode: RemoteFX operational flags (v[ideo], i[mage]), default is video\n"
" --nsc: enable NSCodec (experimental)\n"
+#ifdef WITH_JPEG
+ " --jpeg: enable jpeg codec, uses 75 quality\n"
+ " --jpegex: enable jpeg and set quality(1..99)\n"
+#endif
" --disable-wallpaper: disables wallpaper\n"
" --composition: enable desktop composition\n"
" --disable-full-window-drag: disables full window drag\n"
@@ -344,6 +350,61 @@ int freerdp_parse_args(rdpSettings* settings, int argc, char** argv,
return FREERDP_ARGS_PARSE_FAILURE;
}
}
+ else if (strcmp("--bcv3", argv[index]) == 0)
+ {
+ index++;
+ if (index == argc)
+ {
+ printf("missing codec name\n");
+ return FREERDP_ARGS_PARSE_FAILURE;
+ }
+ settings->bitmap_cache_v3 = true;
+ if (strcmp("rfx", argv[index]) == 0)
+ {
+ printf("setting rfx\n");
+ settings->v3_codec_id = CODEC_ID_REMOTEFX;
+ settings->rfx_codec = true;
+ }
+ else if (strcmp("nsc", argv[index]) == 0)
+ {
+ printf("setting codec nsc\n");
+ settings->v3_codec_id = CODEC_ID_NSCODEC;
+ settings->ns_codec = true;
+ }
+#ifdef WITH_JPEG
+ else if (strcmp("jpeg", argv[index]) == 0)
+ {
+ printf("setting codec jpeg\n");
+ settings->v3_codec_id = CODEC_ID_JPEG;
+ settings->jpeg_codec = true;
+ if (settings->jpeg_quality == 0)
+ settings->jpeg_quality = 75;
+ }
+#endif
+ else
+ {
+ printf("bad codec name\n");
+ return FREERDP_ARGS_PARSE_FAILURE;
+ }
+ }
+#ifdef WITH_JPEG
+ else if (strcmp("--jpeg", argv[index]) == 0)
+ {
+ settings->jpeg_codec = true;
+ settings->jpeg_quality = 75;
+ }
+ else if (strcmp("--jpegex", argv[index]) == 0)
+ {
+ index++;
+ if (index == argc)
+ {
+ printf("missing codec name\n");
+ return FREERDP_ARGS_PARSE_FAILURE;
+ }
+ settings->jpeg_codec = true;
+ settings->jpeg_quality = atoi(argv[index]);
+ }
+#endif
else if (strcmp("--rfx", argv[index]) == 0)
{
settings->rfx_codec = true;