mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-27 13:10:37 +00:00
Merge commit '92ba965103d3884609730ba9bf293772dc78a9ef'
* commit '92ba965103d3884609730ba9bf293772dc78a9ef': dsputil: Move draw_edges and clear_block* out of dsputil_template Conflicts: libavcodec/dsputil.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
2d15e0c01d
@ -2550,6 +2550,44 @@ static void ff_jref_idct1_add(uint8_t *dest, int line_size, int16_t *block)
|
||||
dest[0] = av_clip_uint8(dest[0] + ((block[0] + 4)>>3));
|
||||
}
|
||||
|
||||
/* draw the edges of width 'w' of an image of size width, height */
|
||||
// FIXME: Check that this is OK for MPEG-4 interlaced.
|
||||
static void draw_edges_8_c(uint8_t *buf, int wrap, int width, int height,
|
||||
int w, int h, int sides)
|
||||
{
|
||||
uint8_t *ptr = buf, *last_line;
|
||||
int i;
|
||||
|
||||
/* left and right */
|
||||
for (i = 0; i < height; i++) {
|
||||
memset(ptr - w, ptr[0], w);
|
||||
memset(ptr + width, ptr[width - 1], w);
|
||||
ptr += wrap;
|
||||
}
|
||||
|
||||
/* top and bottom + corners */
|
||||
buf -= w;
|
||||
last_line = buf + (height - 1) * wrap;
|
||||
if (sides & EDGE_TOP)
|
||||
for (i = 0; i < h; i++)
|
||||
// top
|
||||
memcpy(buf - (i + 1) * wrap, buf, width + w + w);
|
||||
if (sides & EDGE_BOTTOM)
|
||||
for (i = 0; i < h; i++)
|
||||
// bottom
|
||||
memcpy(last_line + (i + 1) * wrap, last_line, width + w + w);
|
||||
}
|
||||
|
||||
static void clear_block_8_c(int16_t *block)
|
||||
{
|
||||
memset(block, 0, sizeof(int16_t) * 64);
|
||||
}
|
||||
|
||||
static void clear_blocks_8_c(int16_t *blocks)
|
||||
{
|
||||
memset(blocks, 0, sizeof(int16_t) * 6 * 64);
|
||||
}
|
||||
|
||||
/* init static data */
|
||||
av_cold void ff_dsputil_static_init(void)
|
||||
{
|
||||
|
@ -27,46 +27,6 @@
|
||||
* DSP utils
|
||||
*/
|
||||
|
||||
#include "pixels.h"
|
||||
|
||||
/* draw the edges of width 'w' of an image of size width, height */
|
||||
// FIXME: Check that this is OK for MPEG-4 interlaced.
|
||||
static void draw_edges_8_c(uint8_t *buf, int wrap, int width, int height,
|
||||
int w, int h, int sides)
|
||||
{
|
||||
uint8_t *ptr = buf, *last_line;
|
||||
int i;
|
||||
|
||||
/* left and right */
|
||||
for (i = 0; i < height; i++) {
|
||||
memset(ptr - w, ptr[0], w);
|
||||
memset(ptr + width, ptr[width - 1], w);
|
||||
ptr += wrap;
|
||||
}
|
||||
|
||||
/* top and bottom + corners */
|
||||
buf -= w;
|
||||
last_line = buf + (height - 1) * wrap;
|
||||
if (sides & EDGE_TOP)
|
||||
for (i = 0; i < h; i++)
|
||||
// top
|
||||
memcpy(buf - (i + 1) * wrap, buf, width + w + w);
|
||||
if (sides & EDGE_BOTTOM)
|
||||
for (i = 0; i < h; i++)
|
||||
// bottom
|
||||
memcpy(last_line + (i + 1) * wrap, last_line, width + w + w);
|
||||
}
|
||||
|
||||
static void clear_block_8_c(int16_t *block)
|
||||
{
|
||||
memset(block, 0, sizeof(int16_t) * 64);
|
||||
}
|
||||
|
||||
static void clear_blocks_8_c(int16_t *blocks)
|
||||
{
|
||||
memset(blocks, 0, sizeof(int16_t) * 6 * 64);
|
||||
}
|
||||
|
||||
#define PIXOP2(OPNAME, OP) \
|
||||
static inline void OPNAME ## _no_rnd_pixels8_l2_8(uint8_t *dst, \
|
||||
const uint8_t *src1, \
|
||||
|
Loading…
Reference in New Issue
Block a user