public ActionResult CodecTab(int id = 1) { var viewModel = new RFXPDecodeViewModel(id); ViewBag.layer = id; return(PartialView("_PDecodeTab", viewModel)); }
public ActionResult IndexWithInputs() { dynamic obj = GetJsonObject(Request.InputStream); foreach (var input in obj) { // TODO: refine this if (input != null && input.Inputs != null) { int layer = JsonHelper.CastTo <int>(input.Layer); if (layer == 0) { // TODO: refine this // retrieve the quant var quantArray = JsonHelper.RetrieveQuantsArray(input.Params.QuantizationFactorsArray); // retrive the progressive quants var progQuantList = new List <QuantizationFactorsArray>(); foreach (var layerQuant in input.Params.ProgQuantizationArray) { var layerQuants = JsonHelper.RetrieveQuantsArray(layerQuant); progQuantList.Add(layerQuants); } var progQuantarray = new ProgressiveQuantizationFactors { ProgQuants = progQuantList }; EntropyAlgorithm algorithm = JsonHelper.CastTo <EntropyAlgorithm>(input.Params.EntropyAlgorithm); UseDifferenceTile useDifferenceTile = JsonHelper.CastTo <UseDifferenceTile>(input.Params.UseDifferenceTile); UseReduceExtrapolate useReduceExtrapolate = JsonHelper.CastTo <UseReduceExtrapolate>(input.Params.UseReduceExtrapolate); _viewModel = new RFXPDecodeViewModel(0); ((RFXPDecodeViewModel)_viewModel).ProvideParam(quantArray, progQuantarray, algorithm, useDifferenceTile, useReduceExtrapolate); ((RFXPDecodeViewModel)_viewModel).ProvidePanelInputs(layer, input.Inputs[0], input.Inputs[1], input.Inputs[2]); Session[ModelKey] = _viewModel; Session[isPreFrameValid] = true; } Decode(input); // Updates Decode Status UpdateDecodeStatus(layer); } } Session[IsValid] = true; return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public override ActionResult Index() { if (this.HttpContext.Session.Get <bool>(IsValid) == false) { // Clear Session data if the data is not valid this.HttpContext.Session.SetObject(ConstantDAS, null); this.HttpContext.Session.SetObject(ConstantCodecActionDic, null); this.HttpContext.Session.SetObject(DecodePreviousFrame, null); this.HttpContext.Session.SetObject(ConstantDASDic, null); this.HttpContext.Session.SetObject(PreviousFrameDic, null); var viewModel = new RFXPDecodeViewModel(0); this.HttpContext.Session.SetObject(ModelKey, viewModel); LoadFromSession(); return(View(_viewModel)); } else { this.HttpContext.Session.SetObject(IsValid, false); Dictionary <int, ICodecAction> SessionCodecActionDic = this.HttpContext.Session.Get <Dictionary <int, ICodecAction> >(ConstantCodecActionDic); if (SessionCodecActionDic != null) { // put the inputs in the viewbag var inputList = new List <string[]>(); for (int i = 1; i < SessionCodecActionDic.Keys.Count; i++) { Triplet <string> encodedData = SessionCodecActionDic[i].SubActions.FirstOrDefault().Input[0].GetStrings(TileSerializerFactory.GetDefaultSerizlizer()); Triplet <string> rawData = SessionCodecActionDic[i].SubActions.FirstOrDefault().Input[1].GetStrings(TileSerializerFactory.GetDefaultSerizlizer()); var components = new List <string> { encodedData.X, rawData.X, encodedData.Y, rawData.Y, encodedData.Z, rawData.Z }; inputList.Add(components.ToArray()); } if (inputList.Count > 0) { ViewBag.Inputs = inputList; } } return(View(_viewModel)); } }
public override ActionResult Index() { if (Session == null || Session[IsValid] == null || ((bool)Session[IsValid]) == false) { // Clear Session data if the data is not valid Session[ConstantDAS] = null; Session[ConstantCodecActionDic] = null; Session[DecodePreviousFrame] = null; Session[ConstantDASDic] = null; Session[PreviousFrameDic] = null; var viewModel = new RFXPDecodeViewModel(0); Session[ModelKey] = viewModel; LoadFromSession(); return(View(_viewModel)); } else { Session[IsValid] = false; Dictionary <int, ICodecAction> SessionCodecActionDic = (Dictionary <int, ICodecAction>)Session[ConstantCodecActionDic]; if (SessionCodecActionDic != null) { // put the inputs in the viewbag var inputList = new List <string[]>(); for (int i = 1; i < SessionCodecActionDic.Keys.Count; i++) { Triplet <string> encodedData = SessionCodecActionDic[i].SubActions.FirstOrDefault().Input[0].GetStrings(TileSerializerFactory.GetDefaultSerizlizer()); Triplet <string> rawData = SessionCodecActionDic[i].SubActions.FirstOrDefault().Input[1].GetStrings(TileSerializerFactory.GetDefaultSerizlizer()); var components = new List <string> { encodedData.X, rawData.X, encodedData.Y, rawData.Y, encodedData.Z, rawData.Z }; inputList.Add(components.ToArray()); } if (inputList.Count > 0) { ViewBag.Inputs = inputList; } } return(View(_viewModel)); } }
public async Task <IActionResult> IndexWithInputs() { try { using (var bodyStream = new StreamReader(Request.Body)) { var bodyText = await bodyStream.ReadToEndAsync(); dynamic obj = JsonConvert.DeserializeObject(bodyText); foreach (var input in obj) { // TODO: refine this if (input != null && input.Inputs != null) { int layer = JsonHelper.CastTo <int>(input.Layer); if (layer == 0) { // TODO: refine this // retrieve the quant var quantArray = JsonHelper.RetrieveQuantsArray(input.Params.QuantizationFactorsArray); // retrive the progressive quants var progQuantList = new List <QuantizationFactorsArray>(); foreach (var layerQuant in input.Params.ProgQuantizationArray) { var layerQuants = JsonHelper.RetrieveQuantsArray(layerQuant); progQuantList.Add(layerQuants); } var progQuantarray = new ProgressiveQuantizationFactors { ProgQuants = progQuantList }; EntropyAlgorithm algorithm = JsonHelper.CastTo <EntropyAlgorithm>(input.Params.EntropyAlgorithm); UseDifferenceTile useDifferenceTile = JsonHelper.CastTo <UseDifferenceTile>(input.Params.UseDifferenceTile); UseReduceExtrapolate useReduceExtrapolate = JsonHelper.CastTo <UseReduceExtrapolate>(input.Params.UseReduceExtrapolate); _viewModel = new RFXPDecodeViewModel(0); ((RFXPDecodeViewModel)_viewModel).ProvideParam(quantArray, progQuantarray, algorithm, useDifferenceTile, useReduceExtrapolate); JArray jsonInputs = JArray.Parse(input["Inputs"].ToString()); ((RFXPDecodeViewModel)_viewModel).ProvidePanelInputs(layer, jsonInputs[0].TrimEnter(), jsonInputs[1].TrimEnter(), jsonInputs[2].TrimEnter()); this.HttpContext.Session.SetObject(ModelKey, _viewModel); this.HttpContext.Session.SetObject(isPreFrameValid, true); } Decode(input); // Updates Decode Status await UpdateDecodeStatus(layer); } } } this.HttpContext.Session.SetObject(IsValid, true); return(Json(ReturnResult <string> .Success("Success"))); } catch (Exception ex) { return(Json(ReturnResult <string> .Fail(ex.Message))); } }