Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4349 Serge 1
/*
2
 * This file is part of FFmpeg.
3
 *
4
 * FFmpeg is free software; you can redistribute it and/or
5
 * modify it under the terms of the GNU Lesser General Public
6
 * License as published by the Free Software Foundation; either
7
 * version 2.1 of the License, or (at your option) any later version.
8
 *
9
 * FFmpeg is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
 * Lesser General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Lesser General Public
15
 * License along with FFmpeg; if not, write to the Free Software
16
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
 */
18
 
19
#ifndef AVCODEC_COPY_BLOCK_H
20
#define AVCODEC_COPY_BLOCK_H
21
 
22
#include 
23
 
24
#include "libavutil/intreadwrite.h"
25
 
26
static inline void copy_block2(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h)
27
{
28
    int i;
29
    for(i=0; i
30
    {
31
        AV_COPY16U(dst, src);
32
        dst+=dstStride;
33
        src+=srcStride;
34
    }
35
}
36
 
37
static inline void copy_block4(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h)
38
{
39
    int i;
40
    for(i=0; i
41
    {
42
        AV_COPY32U(dst, src);
43
        dst+=dstStride;
44
        src+=srcStride;
45
    }
46
}
47
 
48
static inline void copy_block8(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h)
49
{
50
    int i;
51
    for(i=0; i
52
    {
53
        AV_COPY64U(dst, src);
54
        dst+=dstStride;
55
        src+=srcStride;
56
    }
57
}
58
 
59
static inline void copy_block16(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h)
60
{
61
    int i;
62
    for(i=0; i
63
    {
64
        AV_COPY128U(dst, src);
65
        dst+=dstStride;
66
        src+=srcStride;
67
    }
68
}
69
 
70
static inline void copy_block9(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h)
71
{
72
    int i;
73
    for(i=0; i
74
    {
75
        AV_COPY64U(dst, src);
76
        dst[8]= src[8];
77
        dst+=dstStride;
78
        src+=srcStride;
79
    }
80
}
81
 
82
static inline void copy_block17(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h)
83
{
84
    int i;
85
    for(i=0; i
86
    {
87
        AV_COPY128U(dst, src);
88
        dst[16]= src[16];
89
        dst+=dstStride;
90
        src+=srcStride;
91
    }
92
}
93
 
94
#endif /* AVCODEC_COPY_BLOCK_H */