FastLED 3.9.15
Loading...
Searching...
No Matches

◆ plm_video_predict_macroblock()

void fl::third_party::plm_video_predict_macroblock ( plm_video_t * self)

Definition at line 2628 of file pl_mpeg.hpp.

2628 {
2629 int fw_h = self->motion_forward.h;
2630 int fw_v = self->motion_forward.v;
2631
2632 if (self->motion_forward.full_px) {
2633 fw_h <<= 1;
2634 fw_v <<= 1;
2635 }
2636
2638 int bw_h = self->motion_backward.h;
2639 int bw_v = self->motion_backward.v;
2640
2641 if (self->motion_backward.full_px) {
2642 bw_h <<= 1;
2643 bw_v <<= 1;
2644 }
2645
2646 if (self->motion_forward.is_set) {
2647 plm_video_copy_macroblock(self, &self->frame_forward, fw_h, fw_v);
2648 if (self->motion_backward.is_set) {
2649 plm_video_interpolate_macroblock(self, &self->frame_backward, bw_h, bw_v);
2650 }
2651 }
2652 else {
2653 plm_video_copy_macroblock(self, &self->frame_backward, bw_h, bw_v);
2654 }
2655 }
2656 else {
2657 plm_video_copy_macroblock(self, &self->frame_forward, fw_h, fw_v);
2658 }
2659}
static const int PLM_VIDEO_PICTURE_TYPE_B
Definition pl_mpeg.hpp:1632
void plm_video_copy_macroblock(plm_video_t *self, plm_frame_t *s, int motion_h, int motion_v) FL_NOEXCEPT
Definition pl_mpeg.hpp:2661
void plm_video_interpolate_macroblock(plm_video_t *self, plm_frame_t *s, int motion_h, int motion_v) FL_NOEXCEPT
Definition pl_mpeg.hpp:2668
plm_video_motion_t motion_backward
Definition pl_mpeg.hpp:2064
plm_video_motion_t motion_forward
Definition pl_mpeg.hpp:2063

References FL_NOEXCEPT, plm_video_copy_macroblock(), plm_video_interpolate_macroblock(), and PLM_VIDEO_PICTURE_TYPE_B.

Referenced by plm_video_decode_macroblock().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: