annotate imgconvert.h @ 11032:01bd040f8607 libavcodec

Unroll main loop so the edge==0 case is seperate. This allows many things to be simplified away. h264 decoder is overall 1% faster with a mbaff sample and 0.1% slower with the cathedral sample, probably because the slow loop filter code must be loaded into the code cache for each first MB of each row but isnt used for the following MBs.
author michael
date Thu, 28 Jan 2010 01:24:25 +0000
parents a15ec86bf752
children 035ca6548e29
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6359
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
1 /*
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
2 * Misc image conversion routines
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
3 * most functionality is exported to the public API, see avcodec.h
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
4 *
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
5 * Copyright (c) 2008 Vitor Sessak
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
6 *
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
7 * This file is part of FFmpeg.
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
8 *
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
9 * FFmpeg is free software; you can redistribute it and/or
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
10 * modify it under the terms of the GNU Lesser General Public
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
11 * License as published by the Free Software Foundation; either
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
12 * version 2.1 of the License, or (at your option) any later version.
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
13 *
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
14 * FFmpeg is distributed in the hope that it will be useful,
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
17 * Lesser General Public License for more details.
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
18 *
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
19 * You should have received a copy of the GNU Lesser General Public
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
20 * License along with FFmpeg; if not, write to the Free Software
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
22 */
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
23
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6489
diff changeset
24 #ifndef AVCODEC_IMGCONVERT_H
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6489
diff changeset
25 #define AVCODEC_IMGCONVERT_H
6359
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
26
6489
4d1efaedfae6 Add missing stdint.h #include to headers that use it.
diego
parents: 6435
diff changeset
27 #include <stdint.h>
6435
cb4ee143ad29 include required header
aurel
parents: 6361
diff changeset
28 #include "avcodec.h"
cb4ee143ad29 include required header
aurel
parents: 6361
diff changeset
29
9221
a15ec86bf752 Globally prefer enum PixelFormat over int when it makes sense.
stefano
parents: 9207
diff changeset
30 int ff_fill_linesize(AVPicture *picture, enum PixelFormat pix_fmt, int width);
6359
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
31
9221
a15ec86bf752 Globally prefer enum PixelFormat over int when it makes sense.
stefano
parents: 9207
diff changeset
32 int ff_fill_pointer(AVPicture *picture, uint8_t *ptr, enum PixelFormat pix_fmt, int height);
6359
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
33
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
34 int ff_get_plane_bytewidth(enum PixelFormat pix_fmt, int width, int plane);
d5a97935b2f1 Add header for declaration of ff_xxxx functions in imgconvert.c
vitor
parents:
diff changeset
35
8748
eaa08ce79f9a Ensure that the palette is set in data[1] for all 8bit formats.
michael
parents: 8313
diff changeset
36 int ff_set_systematic_pal(uint32_t pal[256], enum PixelFormat pix_fmt);
eaa08ce79f9a Ensure that the palette is set in data[1] for all 8bit formats.
michael
parents: 8313
diff changeset
37
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6489
diff changeset
38 #endif /* AVCODEC_IMGCONVERT_H */