MCPcopy Create free account
hub / github.com/cisco/openh264 / CopyRectBlock4Cols

Function CopyRectBlock4Cols

codec/decoder/core/src/mv_pred.cpp:131–157  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

129 }
130}
131void CopyRectBlock4Cols (void* vdst, void* vsrc, const int32_t stride_dst, const int32_t stride_src, int32_t w,
132 const int32_t size) {
133 uint8_t* dst = (uint8_t*)vdst;
134 uint8_t* src = (uint8_t*)vsrc;
135 w *= size;
136 if (w == 1) {
137 dst[stride_dst * 0] = src[stride_src * 0];
138 dst[stride_dst * 1] = src[stride_src * 1];
139 dst[stride_dst * 2] = src[stride_src * 2];
140 dst[stride_dst * 3] = src[stride_src * 3];
141 } else if (w == 2) {
142 * (uint16_t*) (&dst[stride_dst * 0]) = * (uint16_t*) (&src[stride_src * 0]);
143 * (uint16_t*) (&dst[stride_dst * 1]) = * (uint16_t*) (&src[stride_src * 1]);
144 * (uint16_t*) (&dst[stride_dst * 2]) = * (uint16_t*) (&src[stride_src * 2]);
145 * (uint16_t*) (&dst[stride_dst * 3]) = * (uint16_t*) (&src[stride_src * 3]);
146 } else if (w == 4) {
147 * (uint32_t*) (&dst[stride_dst * 0]) = * (uint32_t*) (&src[stride_src * 0]);
148 * (uint32_t*) (&dst[stride_dst * 1]) = * (uint32_t*) (&src[stride_src * 1]);
149 * (uint32_t*) (&dst[stride_dst * 2]) = * (uint32_t*) (&src[stride_src * 2]);
150 * (uint32_t*) (&dst[stride_dst * 3]) = * (uint32_t*) (&src[stride_src * 3]);
151 } else if (w == 16) {
152 memcpy (&dst[stride_dst * 0], &src[stride_src * 0], 16);
153 memcpy (&dst[stride_dst * 1], &src[stride_src * 1], 16);
154 memcpy (&dst[stride_dst * 2], &src[stride_src * 2], 16);
155 memcpy (&dst[stride_dst * 3], &src[stride_src * 3], 16);
156 }
157}
158void PredPSkipMvFromNeighbor (PDqLayer pCurDqLayer, int16_t iMvp[2]) {
159 bool bTopAvail, bLeftTopAvail, bRightTopAvail, bLeftAvail;
160

Callers 1

GetColocatedMbFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected