annotate svq1.c @ 12384:e1ef713061ce libavcodec

Add av_picture_data_copy() and reimplement av_picture_copy() as a wrapper of it. The new function is more generic, and does not depend on the definition of the AVPicture struct. Patch by S.N. Hemanth Meenakshisundaram s + "meenakshisundaram".substr(0, 7) + "@ucsd.edu".
author stefano
date Wed, 11 Aug 2010 14:18:52 +0000
parents 7dd2a45249a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
536
6fac683d9997 Change licence to LGPL since there are no objections from side of original author
nickols_k
parents: 530
diff changeset
1 /*
5214
470601203f44 Group all copyright and author notices together.
diego
parents: 5127
diff changeset
2 * SVQ1 decoder
470601203f44 Group all copyright and author notices together.
diego
parents: 5127
diff changeset
3 * ported to MPlayer by Arpi <arpi@thot.banki.hu>
470601203f44 Group all copyright and author notices together.
diego
parents: 5127
diff changeset
4 * ported to libavcodec by Nick Kurshev <nickols_k@mail.ru>
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2860
diff changeset
5 *
536
6fac683d9997 Change licence to LGPL since there are no objections from side of original author
nickols_k
parents: 530
diff changeset
6 * Copyright (C) 2002 the xine project
6fac683d9997 Change licence to LGPL since there are no objections from side of original author
nickols_k
parents: 530
diff changeset
7 * Copyright (C) 2002 the ffmpeg project
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2860
diff changeset
8 *
5214
470601203f44 Group all copyright and author notices together.
diego
parents: 5127
diff changeset
9 * SVQ1 Encoder (c) 2004 Mike Melanson <melanson@pcisys.net>
470601203f44 Group all copyright and author notices together.
diego
parents: 5127
diff changeset
10 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3777
diff changeset
11 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3777
diff changeset
12 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3777
diff changeset
13 * FFmpeg is free software; you can redistribute it and/or
536
6fac683d9997 Change licence to LGPL since there are no objections from side of original author
nickols_k
parents: 530
diff changeset
14 * modify it under the terms of the GNU Lesser General Public
6fac683d9997 Change licence to LGPL since there are no objections from side of original author
nickols_k
parents: 530
diff changeset
15 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3777
diff changeset
16 * version 2.1 of the License, or (at your option) any later version.
536
6fac683d9997 Change licence to LGPL since there are no objections from side of original author
nickols_k
parents: 530
diff changeset
17 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3777
diff changeset
18 * FFmpeg is distributed in the hope that it will be useful,
521
9c66b5183ab3 new codec: Sorenson v1
nickols_k
parents:
diff changeset
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
536
6fac683d9997 Change licence to LGPL since there are no objections from side of original author
nickols_k
parents: 530
diff changeset
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
6fac683d9997 Change licence to LGPL since there are no objections from side of original author
nickols_k
parents: 530
diff changeset
21 * Lesser General Public License for more details.
6fac683d9997 Change licence to LGPL since there are no objections from side of original author
nickols_k
parents: 530
diff changeset
22 *
6fac683d9997 Change licence to LGPL since there are no objections from side of original author
nickols_k
parents: 530
diff changeset
23 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3777
diff changeset
24 * License along with FFmpeg; if not, write to the Free Software
3036
0b546eab515d Update licensing information: The FSF changed postal address.
diego
parents: 2979
diff changeset
25 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
521
9c66b5183ab3 new codec: Sorenson v1
nickols_k
parents:
diff changeset
26 */
1106
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
27
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
28 /**
11644
7dd2a45249a9 Remove explicit filename from Doxygen @file commands.
diego
parents: 10832
diff changeset
29 * @file
2005
28d3f73aa254 first pass at a Sorenson Video 1 (SVQ1) encoder
melanson
parents: 1892
diff changeset
30 * Sorenson Vector Quantizer #1 (SVQ1) video codec.
28d3f73aa254 first pass at a Sorenson Video 1 (SVQ1) encoder
melanson
parents: 1892
diff changeset
31 * For more information of the SVQ1 algorithm, visit:
28d3f73aa254 first pass at a Sorenson Video 1 (SVQ1) encoder
melanson
parents: 1892
diff changeset
32 * http://www.pcisys.net/~melanson/codecs/
1106
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
33 */
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
34
5233
eca08bfad00f split SVQ1 decoder and encoder in their own files
aurel
parents: 5214
diff changeset
35 #include "svq1.h"
579
ba17f7dbe745 moved codebooks to svq1_cb.h
al3x
parents: 561
diff changeset
36 #include "svq1_cb.h"
1283
00dcdda701ca rework SVQ1 decoder to use more intuitive VLC tables as well as ffmpeg's
tmmm
parents: 1282
diff changeset
37 #include "svq1_vlc.h"
521
9c66b5183ab3 new codec: Sorenson v1
nickols_k
parents:
diff changeset
38
9c66b5183ab3 new codec: Sorenson v1
nickols_k
parents:
diff changeset
39 /* standard video sizes */
10832
f20726a6d538 Add a function to match a 2 element vector of uint16_t and use it in h263 and svq1
michael
parents: 8718
diff changeset
40 const struct svq1_frame_size ff_svq1_frame_size_table[7] = {
521
9c66b5183ab3 new codec: Sorenson v1
nickols_k
parents:
diff changeset
41 { 160, 120 }, { 128, 96 }, { 176, 144 }, { 352, 288 },
10832
f20726a6d538 Add a function to match a 2 element vector of uint16_t and use it in h263 and svq1
michael
parents: 8718
diff changeset
42 { 704, 576 }, { 240, 180 }, { 320, 240 }
521
9c66b5183ab3 new codec: Sorenson v1
nickols_k
parents:
diff changeset
43 };