{"id":20250244,"url":"https://github.com/pavelkryukov/codecs","last_synced_at":"2026-06-30T19:31:04.390Z","repository":{"id":92233782,"uuid":"43517521","full_name":"pavelkryukov/codecs","owner":"pavelkryukov","description":"[2009–2011] Solutions for MIPT-ILab Multimedia project assignments","archived":false,"fork":false,"pushed_at":"2015-10-12T16:01:35.000Z","size":288,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-03T16:24:47.269Z","etag":null,"topics":["avisynth","deinterlace","denoise","filter","msr","psnr","video","yuv"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pavelkryukov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-01T19:53:06.000Z","updated_at":"2017-09-20T21:38:11.000Z","dependencies_parsed_at":"2023-03-07T02:30:50.507Z","dependency_job_id":null,"html_url":"https://github.com/pavelkryukov/codecs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pavelkryukov/codecs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pavelkryukov%2Fcodecs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pavelkryukov%2Fcodecs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pavelkryukov%2Fcodecs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pavelkryukov%2Fcodecs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pavelkryukov","download_url":"https://codeload.github.com/pavelkryukov/codecs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pavelkryukov%2Fcodecs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34981390,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avisynth","deinterlace","denoise","filter","msr","psnr","video","yuv"],"created_at":"2024-11-14T09:57:35.607Z","updated_at":"2026-06-30T19:31:04.348Z","avatar_url":"https://github.com/pavelkryukov.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# codecs\nSolutions for MIPT-ILab Codecs project (2009/2011)\n\nThese projects were made by Pavel Kryukov as solutions for assignments of MIPT-ILab Codecs project led by Maxim Pokrovsky and Maxim Khlobystov\n\n## Metrics ##\n\nMetrics is a set of MS Visual Studio C# projects:\n\n**_ImageCompare_** is a GUI tool that allows to compare two different images using common metrics like MSR or PSNR. It is useful to check quality loss which occurs on image processing e.g. by JPEG codec.\n\n**_ImageCompareConsole_** is a CUI analog of ImageCompare used for debugging. It has following syntax:\n`./ImageCompareConsole.exe \u003cfilename1\u003e \u003cfilename2\u003e \u003cmetric name\u003e`\n\n**_YUVPlayer_** is a simpliest player of YUV420 video files. Unfortunately, the probe sequences are lost.\n\n**_YUVCompare_** is a per-frame comparator of two YUV420 video files. The syntax is following:\n`./YUVCompare.exe \u003cfilename1\u003e \u003cfilename2\u003e \u003cwidth\u003e \u003cheight\u003e \u003cmetric name\u003e`\n\n## Filters ##\n\nFilters is a set of [AviSynth](http://avisynth.nl/index.php/Main_Page) filters. It can be loaded to AviSynth by the following directive:\n`LoadPlugin(\"full/path/to/as_kryukov.dll\")`\n\nThen you are free to use 4 functions:\n\n**_PepperNoise_** adds random pepper noise (black dots) to the video\n`PepperNoiser(\u003csource\u003e)`\n\n**_SaltNoise_** adds random salt noise (white dots) to the video\n`SaltNoiser(\u003csource\u003e)`\n\n**_DeNoiser_** attempts to remove noise from the pixel using median over 8 neighbourhood pixels, pixel from the previous from and pixel from the next frame.\n`DeNoiser(\u003csource\u003e)`\n\n**_DeInterlacer_** performes stream deinterlacing by averaging three neighbourhood rows.\n`DeInterlacer(\u003csource\u003e)`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpavelkryukov%2Fcodecs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpavelkryukov%2Fcodecs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpavelkryukov%2Fcodecs/lists"}