FFmpeg
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
rv10enc.c
Go to the documentation of this file.
1
/*
2
* RV10 encoder
3
* Copyright (c) 2000,2001 Fabrice Bellard
4
* Copyright (c) 2002-2004 Michael Niedermayer
5
*
6
* This file is part of FFmpeg.
7
*
8
* FFmpeg is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* FFmpeg is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with FFmpeg; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
/**
24
* @file
25
* RV10 encoder
26
*/
27
28
#include "
mpegvideo.h
"
29
#include "
put_bits.h
"
30
31
void
ff_rv10_encode_picture_header
(
MpegEncContext
*s,
int
picture_number)
32
{
33
int
full_frame= 0;
34
35
avpriv_align_put_bits
(&s->
pb
);
36
37
put_bits
(&s->
pb
, 1, 1);
/* marker */
38
39
put_bits
(&s->
pb
, 1, (s->
pict_type
==
AV_PICTURE_TYPE_P
));
40
41
put_bits
(&s->
pb
, 1, 0);
/* not PB frame */
42
43
put_bits
(&s->
pb
, 5, s->
qscale
);
44
45
if
(s->
pict_type
==
AV_PICTURE_TYPE_I
) {
46
/* specific MPEG like DC coding not used */
47
}
48
/* if multiple packets per frame are sent, the position at which
49
to display the macroblocks is coded here */
50
if
(!full_frame){
51
put_bits
(&s->
pb
, 6, 0);
/* mb_x */
52
put_bits
(&s->
pb
, 6, 0);
/* mb_y */
53
put_bits
(&s->
pb
, 12, s->
mb_width
* s->
mb_height
);
54
}
55
56
put_bits
(&s->
pb
, 3, 0);
/* ignored */
57
}
58
59
FF_MPV_GENERIC_CLASS
(rv10)
60
61
AVCodec
ff_rv10_encoder
= {
62
.
name
=
"rv10"
,
63
.type =
AVMEDIA_TYPE_VIDEO
,
64
.id =
AV_CODEC_ID_RV10
,
65
.priv_data_size =
sizeof
(
MpegEncContext
),
66
.
init
=
ff_MPV_encode_init
,
67
.encode2 =
ff_MPV_encode_picture
,
68
.
close
=
ff_MPV_encode_end
,
69
.pix_fmts = (
const
enum
AVPixelFormat
[]){
AV_PIX_FMT_YUV420P
,
AV_PIX_FMT_NONE
},
70
.long_name =
NULL_IF_CONFIG_SMALL
(
"RealVideo 1.0"
),
71
.priv_class = &rv10_class,
72
};
Generated on Sat May 25 2013 03:58:40 for FFmpeg by
1.8.2