public static Mv ClampMvToUmvBorderSb(ref MacroBlockD xd, ref Mv srcMv, int bw, int bh, int ssX, int ssY) { // If the MV points so far into the UMV border that no visible pixels // are used for reconstruction, the subpel part of the MV can be // discarded and the MV limited to 16 pixels with equivalent results. int spelLeft = (Constants.Vp9InterpExtend + bw) << SubpelBits; int spelRight = spelLeft - SubpelShifts; int spelTop = (Constants.Vp9InterpExtend + bh) << SubpelBits; int spelBottom = spelTop - SubpelShifts; Mv clampedMv = new Mv() { Row = (short)(srcMv.Row * (1 << (1 - ssY))), Col = (short)(srcMv.Col * (1 << (1 - ssX))) }; Debug.Assert(ssX <= 1); Debug.Assert(ssY <= 1); clampedMv.ClampMv( xd.MbToLeftEdge * (1 << (1 - ssX)) - spelLeft, xd.MbToRightEdge * (1 << (1 - ssX)) + spelRight, xd.MbToTopEdge * (1 << (1 - ssY)) - spelTop, xd.MbToBottomEdge * (1 << (1 - ssY)) + spelBottom); return(clampedMv); }
private void NewMvCommandExecute(Mv mv) { if ((mv?.Id).HasValue) { NewMusicMvCommandExecute(mv.Id); } }
public void Setup() { cliente = new Client(); commandHelp = new Help(); commantTouch = new Touch(); commandLs = new Ls(); commandMove = new Mv(); commandCd = new Cd(); }
private void MvSelectCommandExecute(Mv obj) { if (obj?.Id > 0) { var parmater = new NavigationParameters(); parmater.Add(IndirectView.IndirectViewModelBase.NavigationIdParmmeterName, obj.Id); this._navigationService.RequestNavigate(Settings.Default.RegionName, nameof(MvPlayView), parmater); } }
async void ListViewItemTappedAsync(object e) { var s = e as ItemTappedEventArgs; Mv mv = s.Item as Mv; var param = new NavigationParameters(); param.Add("MVid", mv.id); await MediaManager.CrossMediaManager.Current.Pause(); await NavigationService.NavigateAsync("MusicVideoPage", param); }
private static Mv MiMvPredQ4(ref ModeInfo mi, int idx) { Mv res = new Mv() { Row = (short)RoundMvCompQ4( mi.Bmi[0].Mv[idx].Row + mi.Bmi[1].Mv[idx].Row + mi.Bmi[2].Mv[idx].Row + mi.Bmi[3].Mv[idx].Row), Col = (short)RoundMvCompQ4( mi.Bmi[0].Mv[idx].Col + mi.Bmi[1].Mv[idx].Col + mi.Bmi[2].Mv[idx].Col + mi.Bmi[3].Mv[idx].Col) }; return(res); }
private static Mv MiMvPredQ2(ref ModeInfo mi, int idx, int block0, int block1) { Mv res = new Mv() { Row = (short)RoundMvCompQ2( mi.Bmi[block0].Mv[idx].Row + mi.Bmi[block1].Mv[idx].Row), Col = (short)RoundMvCompQ2( mi.Bmi[block0].Mv[idx].Col + mi.Bmi[block1].Mv[idx].Col) }; return(res); }
/// <summary> /// Обработчик нажатия на кнопку сохранения параметров. /// Появляется окно выбора директории, затем файл /// записывается в выбранное место. Также обрабатываются /// исключения, которые могут возникнуть при записи. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void bSave_Click(object sender, EventArgs e) { string path = ""; if (saveFileInput.ShowDialog() == DialogResult.OK) { path = saveFileInput.FileName; } try { File.WriteAllLines(path, new string[] { N.ToString(), Mu.ToString(), Mv.ToString(), Um.ToString(), Vm.ToString(), du.ToString(), dv.ToString(), u.ToString(), v.ToString(), a.ToString(), Tc.ToString(), up1.ToString(), up2.ToString(), vp1.ToString(), vp2.ToString(), Ap1.ToString(), Ap2.ToString(), gamma.ToString(), _mu.ToString(), H.ToString(), pq.ToString() }); } catch (FileNotFoundException) { MessageBox.Show("Файл не существует. " + "Начните заново."); } catch (IOException) { MessageBox.Show("Ошибка в работе с файлом." + " Начните заново."); } catch (UnauthorizedAccessException) { MessageBox.Show("Ошибка доступа к файлу:" + " нет разрешения на доступ. Начните заново."); } catch (System.Security.SecurityException) { MessageBox.Show("Ошибка безопасности при " + "работе с файлом. Начните заново."); } catch (Exception ex) { MessageBox.Show("Произошла ошибка: " + ex.Message); } finally { MessageBox.Show("Работа с файлом окончена."); } }
public static Mv AverageSplitMvs(ref MacroBlockDPlane pd, ref ModeInfo mi, int refr, int block) { int ssIdx = ((pd.SubsamplingX > 0 ? 1 : 0) << 1) | (pd.SubsamplingY > 0 ? 1 : 0); Mv res = new Mv(); switch (ssIdx) { case 0: res = mi.Bmi[block].Mv[refr]; break; case 1: res = MiMvPredQ2(ref mi, refr, block, block + 2); break; case 2: res = MiMvPredQ2(ref mi, refr, block, block + 1); break; case 3: res = MiMvPredQ4(ref mi, refr); break; default: Debug.Assert(ssIdx <= 3 && ssIdx >= 0); break; } return(res); }
/// <summary> /// Обработчик нажатия на кнопку перехода к /// дальнейшей работе с данными, происходит /// запись файла входных параметров, создание /// и открытие новой формы на основе текущей, /// сокрытие текущей формы. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void bProceed_Click(object sender, EventArgs e) { try { File.WriteAllLines("Input.txt", new string[] { N.ToString(), Mu.ToString(), Mv.ToString(), Um.ToString(), Vm.ToString(), du.ToString(), dv.ToString(), u.ToString(), v.ToString(), a.ToString(), Tc.ToString(), up1.ToString(), up2.ToString(), vp1.ToString(), vp2.ToString(), Ap1.ToString(), Ap2.ToString(), gamma.ToString(), _mu.ToString(), H.ToString(), pq.ToString() }); } catch (Exception ex) { MessageBox.Show("Произошла ошибка: " + ex.Message); } this.Hide(); new Operations(this, prevForm, funcs, N, Mu, Mv, Um, Vm, du, dv, u, v, a, Tc, up1, up2, vp1, vp2, Ap1, Ap2, gamma, _mu, H, pq).Show(); }
/// <summary> /// Transforms the input point to screen coordinates. /// </summary> /// <param name="worldPoint">The point to transform, in world coordinates.</param> /// <returns>The transformed point, in screen coordinates.</returns> public Point WorldToScreen(Point3D worldPoint) { Point3D p = WS2T2.Transform(S1T1Mp.Transform(Mv.Transform(worldPoint))); return(new Point((int)(p.X), (int)(p.Y))); }