FFmpeg
2.6.9
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
libavcodec
wmv2.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2002 The FFmpeg Project
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#ifndef AVCODEC_WMV2_H
22
#define AVCODEC_WMV2_H
23
24
#include "
avcodec.h
"
25
#include "
intrax8.h
"
26
#include "
mpegvideo.h
"
27
#include "
wmv2dsp.h
"
28
29
#define SKIP_TYPE_NONE 0
30
#define SKIP_TYPE_MPEG 1
31
#define SKIP_TYPE_ROW 2
32
#define SKIP_TYPE_COL 3
33
34
35
typedef
struct
Wmv2Context
{
36
MpegEncContext
s
;
37
IntraX8Context
x8
;
38
WMV2DSPContext
wdsp
;
39
int
j_type_bit
;
40
int
j_type
;
41
int
abt_flag
;
42
int
abt_type
;
43
int
abt_type_table
[6];
44
int
per_mb_abt
;
45
int
per_block_abt
;
46
int
mspel_bit
;
47
int
cbp_table_index
;
48
int
top_left_mv_flag
;
49
int
per_mb_rl_bit
;
50
int
skip_type
;
51
int
hshift
;
52
53
ScanTable
abt_scantable
[2];
54
DECLARE_ALIGNED
(16, int16_t,
abt_block2
)[6][64];
55
}
Wmv2Context
;
56
57
void
ff_wmv2_common_init
(
Wmv2Context
*w);
58
59
static
av_always_inline
int
wmv2_get_cbp_table_index
(
MpegEncContext
*
s
,
int
cbp_index)
60
{
61
static
const
uint8_t
map[3][3] = {
62
{ 0, 2, 1 },
63
{ 1, 0, 2 },
64
{ 2, 1, 0 },
65
};
66
67
return
map[(s->
qscale
> 10) + (s->
qscale
> 20)][cbp_index];
68
}
69
70
#endif
/* AVCODEC_WMV2_H */
Wmv2Context::j_type_bit
int j_type_bit
Definition:
wmv2.h:39
s
const char * s
Definition:
avisynth_c.h:669
wmv2_get_cbp_table_index
static av_always_inline int wmv2_get_cbp_table_index(MpegEncContext *s, int cbp_index)
Definition:
wmv2.h:59
Wmv2Context::abt_block2
int16_t abt_block2[6][64]
Definition:
wmv2.h:54
Wmv2Context::per_mb_abt
int per_mb_abt
Definition:
wmv2.h:44
ScanTable
Scantable.
Definition:
idctdsp.h:29
DECLARE_ALIGNED
#define DECLARE_ALIGNED(n, t, v)
Definition:
mem.h:53
Wmv2Context::abt_type_table
int abt_type_table[6]
Definition:
wmv2.h:43
mpegvideo.h
mpegvideo header.
Wmv2Context::per_mb_rl_bit
int per_mb_rl_bit
Definition:
wmv2.h:49
MpegEncContext::qscale
int qscale
QP.
Definition:
mpegvideo.h:341
wmv2dsp.h
uint8_t
uint8_t
Definition:
audio_convert.c:194
ff_wmv2_common_init
void ff_wmv2_common_init(Wmv2Context *w)
Definition:
wmv2.c:29
Wmv2Context
Definition:
wmv2.h:35
Wmv2Context::s
MpegEncContext s
Definition:
wmv2.h:36
avcodec.h
Libavcodec external API header.
IntraX8Context
Definition:
intrax8.h:27
Wmv2Context::abt_scantable
ScanTable abt_scantable[2]
Definition:
wmv2.h:53
Wmv2Context::abt_type
int abt_type
Definition:
wmv2.h:42
WMV2DSPContext
Definition:
wmv2dsp.h:26
Wmv2Context::abt_flag
int abt_flag
Definition:
wmv2.h:41
Wmv2Context::cbp_table_index
int cbp_table_index
Definition:
wmv2.h:47
Wmv2Context::skip_type
int skip_type
Definition:
wmv2.h:50
MpegEncContext
MpegEncContext.
Definition:
mpegvideo.h:213
Wmv2Context::wdsp
WMV2DSPContext wdsp
Definition:
wmv2.h:38
Wmv2Context::per_block_abt
int per_block_abt
Definition:
wmv2.h:45
Wmv2Context::hshift
int hshift
Definition:
wmv2.h:51
Wmv2Context::x8
IntraX8Context x8
Definition:
wmv2.h:37
Wmv2Context::mspel_bit
int mspel_bit
Definition:
wmv2.h:46
av_always_inline
#define av_always_inline
Definition:
attributes.h:37
intrax8.h
Wmv2Context::top_left_mv_flag
int top_left_mv_flag
Definition:
wmv2.h:48
Wmv2Context::j_type
int j_type
Definition:
wmv2.h:40
Generated on Mon May 27 2019 05:45:07 for FFmpeg by
1.8.8