Entry for running video anchor compression.
(self, compress_dir)
| 612 | return full_splats_list_c |
| 613 | |
| 614 | def compress(self, compress_dir): |
| 615 | """Entry for running video anchor compression.""" |
| 616 | print("Running video anchor compression...") |
| 617 | |
| 618 | # compress |
| 619 | splats_list = self.compression_method.param_transform(self.splats_list, cfg.compression_cfg.transform_attributes) |
| 620 | # compression: loop on GOPs |
| 621 | num_gop = (self.frame_num + self.cfg.gop_size - 1) // self.cfg.gop_size |
| 622 | for gop_id in range(num_gop): |
| 623 | gop_start_frame_id = gop_id * self.cfg.gop_size |
| 624 | gop_end_frame_id = min(gop_start_frame_id + self.cfg.gop_size, self.frame_num) |
| 625 | |
| 626 | splats_videos = self.compression_method.reorganize(splats_list[gop_start_frame_id:gop_end_frame_id], gop_id) |
| 627 | self.compression_method.compress(splats_videos, compress_dir, gop_id) |
| 628 | |
| 629 | # decompression: loop on GOPs |
| 630 | full_splats_list_c = [] |
| 631 | for gop_id in range(num_gop): |
| 632 | gop_start_frame_id = gop_id * self.cfg.gop_size |
| 633 | gop_end_frame_id = min(gop_start_frame_id + self.cfg.gop_size, self.frame_num) |
| 634 | |
| 635 | # decompress |
| 636 | video_splats_c = self.compression_method.decompress(compress_dir, gop_id) |
| 637 | splats_list_c = self.compression_method.deorganize(video_splats_c) |
| 638 | splats_list_c = self.compression_method.param_inverse_transform(splats_list_c, cfg.compression_cfg.transform_attributes) |
| 639 | full_splats_list_c.extend(splats_list_c) |
| 640 | |
| 641 | return full_splats_list_c |
| 642 | |
| 643 | def pcc_compress(self, compress_dir): |
| 644 | """Entry for running pc anchor compression.""" |
no test coverage detected