Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
4eb41d16
Commit
4eb41d16
authored
Mar 18, 2011
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'newdev/master'
Merged-by:
Michael Niedermayer
<
michaelni@gmx.at
>
parents
12bcfe05
350785a6
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
251 additions
and
100 deletions
+251
-100
aacpsy.c
libavcodec/aacpsy.c
+1
-1
ac3dsp.c
libavcodec/ac3dsp.c
+19
-2
ac3dsp.h
libavcodec/ac3dsp.h
+15
-2
ac3enc.c
libavcodec/ac3enc.c
+1
-1
ac3enc_float.c
libavcodec/ac3enc_float.c
+2
-3
ac3dsp.asm
libavcodec/x86/ac3dsp.asm
+115
-0
ac3dsp_mmx.c
libavcodec/x86/ac3dsp_mmx.c
+14
-1
asfdec.c
libavformat/asfdec.c
+2
-1
avformat.h
libavformat/avformat.h
+0
-2
nutenc.c
libavformat/nutenc.c
+1
-0
lavf_asf
tests/ref/seek/lavf_asf
+27
-33
wmav1_asf
tests/ref/seek/wmav1_asf
+27
-27
wmav2_asf
tests/ref/seek/wmav2_asf
+27
-27
No files found.
libavcodec/aacpsy.c
View file @
4eb41d16
...
@@ -397,7 +397,7 @@ static void psy_3gpp_analyze(FFPsyContext *ctx, int channel,
...
@@ -397,7 +397,7 @@ static void psy_3gpp_analyze(FFPsyContext *ctx, int channel,
int
i
,
w
,
g
;
int
i
,
w
,
g
;
const
int
num_bands
=
ctx
->
num_bands
[
wi
->
num_windows
==
8
];
const
int
num_bands
=
ctx
->
num_bands
[
wi
->
num_windows
==
8
];
const
uint8_t
*
band_sizes
=
ctx
->
bands
[
wi
->
num_windows
==
8
];
const
uint8_t
*
band_sizes
=
ctx
->
bands
[
wi
->
num_windows
==
8
];
AacPsyCoeffs
*
coeffs
=
&
pctx
->
psy_coef
[
wi
->
num_windows
==
8
];
AacPsyCoeffs
*
coeffs
=
pctx
->
psy_coef
[
wi
->
num_windows
==
8
];
//calculate energies, initial thresholds and related values - 5.4.2 "Threshold Calculation"
//calculate energies, initial thresholds and related values - 5.4.2 "Threshold Calculation"
for
(
w
=
0
;
w
<
wi
->
num_windows
*
16
;
w
+=
16
)
{
for
(
w
=
0
;
w
<
wi
->
num_windows
*
16
;
w
+=
16
)
{
...
...
libavcodec/ac3dsp.c
View file @
4eb41d16
...
@@ -85,13 +85,30 @@ static void ac3_rshift_int32_c(int32_t *src, unsigned int len,
...
@@ -85,13 +85,30 @@ static void ac3_rshift_int32_c(int32_t *src, unsigned int len,
}
while
(
len
>
0
);
}
while
(
len
>
0
);
}
}
av_cold
void
ff_ac3dsp_init
(
AC3DSPContext
*
c
)
static
void
float_to_fixed24_c
(
int32_t
*
dst
,
const
float
*
src
,
unsigned
int
len
)
{
const
float
scale
=
1
<<
24
;
do
{
*
dst
++
=
lrintf
(
*
src
++
*
scale
);
*
dst
++
=
lrintf
(
*
src
++
*
scale
);
*
dst
++
=
lrintf
(
*
src
++
*
scale
);
*
dst
++
=
lrintf
(
*
src
++
*
scale
);
*
dst
++
=
lrintf
(
*
src
++
*
scale
);
*
dst
++
=
lrintf
(
*
src
++
*
scale
);
*
dst
++
=
lrintf
(
*
src
++
*
scale
);
*
dst
++
=
lrintf
(
*
src
++
*
scale
);
len
-=
8
;
}
while
(
len
>
0
);
}
av_cold
void
ff_ac3dsp_init
(
AC3DSPContext
*
c
,
int
bit_exact
)
{
{
c
->
ac3_exponent_min
=
ac3_exponent_min_c
;
c
->
ac3_exponent_min
=
ac3_exponent_min_c
;
c
->
ac3_max_msb_abs_int16
=
ac3_max_msb_abs_int16_c
;
c
->
ac3_max_msb_abs_int16
=
ac3_max_msb_abs_int16_c
;
c
->
ac3_lshift_int16
=
ac3_lshift_int16_c
;
c
->
ac3_lshift_int16
=
ac3_lshift_int16_c
;
c
->
ac3_rshift_int32
=
ac3_rshift_int32_c
;
c
->
ac3_rshift_int32
=
ac3_rshift_int32_c
;
c
->
float_to_fixed24
=
float_to_fixed24_c
;
if
(
HAVE_MMX
)
if
(
HAVE_MMX
)
ff_ac3dsp_init_x86
(
c
);
ff_ac3dsp_init_x86
(
c
,
bit_exact
);
}
}
libavcodec/ac3dsp.h
View file @
4eb41d16
...
@@ -68,9 +68,22 @@ typedef struct AC3DSPContext {
...
@@ -68,9 +68,22 @@ typedef struct AC3DSPContext {
* constraints: range [0,31]
* constraints: range [0,31]
*/
*/
void
(
*
ac3_rshift_int32
)(
int32_t
*
src
,
unsigned
int
len
,
unsigned
int
shift
);
void
(
*
ac3_rshift_int32
)(
int32_t
*
src
,
unsigned
int
len
,
unsigned
int
shift
);
/**
* Convert an array of float in range [-1.0,1.0] to int32_t with range
* [-(1<<24),(1<<24)]
*
* @param dst destination array of int32_t.
* constraints: 16-byte aligned
* @param src source array of float.
* constraints: 16-byte aligned
* @param len number of elements to convert.
* constraints: multiple of 32 greater than zero
*/
void
(
*
float_to_fixed24
)(
int32_t
*
dst
,
const
float
*
src
,
unsigned
int
len
);
}
AC3DSPContext
;
}
AC3DSPContext
;
void
ff_ac3dsp_init
(
AC3DSPContext
*
c
);
void
ff_ac3dsp_init
(
AC3DSPContext
*
c
,
int
bit_exact
);
void
ff_ac3dsp_init_x86
(
AC3DSPContext
*
c
);
void
ff_ac3dsp_init_x86
(
AC3DSPContext
*
c
,
int
bit_exact
);
#endif
/* AVCODEC_AC3DSP_H */
#endif
/* AVCODEC_AC3DSP_H */
libavcodec/ac3enc.c
View file @
4eb41d16
...
@@ -1843,7 +1843,7 @@ static av_cold int ac3_encode_init(AVCodecContext *avctx)
...
@@ -1843,7 +1843,7 @@ static av_cold int ac3_encode_init(AVCodecContext *avctx)
avctx
->
coded_frame
=
avcodec_alloc_frame
();
avctx
->
coded_frame
=
avcodec_alloc_frame
();
dsputil_init
(
&
s
->
dsp
,
avctx
);
dsputil_init
(
&
s
->
dsp
,
avctx
);
ff_ac3dsp_init
(
&
s
->
ac3dsp
);
ff_ac3dsp_init
(
&
s
->
ac3dsp
,
avctx
->
flags
&
CODEC_FLAG_BITEXACT
);
return
0
;
return
0
;
init_fail:
init_fail:
...
...
libavcodec/ac3enc_float.c
View file @
4eb41d16
...
@@ -103,9 +103,8 @@ static int normalize_samples(AC3EncodeContext *s)
...
@@ -103,9 +103,8 @@ static int normalize_samples(AC3EncodeContext *s)
*/
*/
static
void
scale_coefficients
(
AC3EncodeContext
*
s
)
static
void
scale_coefficients
(
AC3EncodeContext
*
s
)
{
{
int
i
;
s
->
ac3dsp
.
float_to_fixed24
(
s
->
fixed_coef_buffer
,
s
->
mdct_coef_buffer
,
for
(
i
=
0
;
i
<
AC3_MAX_COEFS
*
AC3_MAX_BLOCKS
*
s
->
channels
;
i
++
)
AC3_MAX_COEFS
*
AC3_MAX_BLOCKS
*
s
->
channels
);
s
->
fixed_coef_buffer
[
i
]
=
SCALE_FLOAT
(
s
->
mdct_coef_buffer
[
i
],
24
);
}
}
...
...
libavcodec/x86/ac3dsp.asm
View file @
4eb41d16
...
@@ -22,6 +22,11 @@
...
@@ -22,6 +22,11 @@
%include
"x86inc.asm"
%include
"x86inc.asm"
%include
"x86util.asm"
%include
"x86util.asm"
SECTION_RODATA
; 16777216.0f - used in ff_float_to_fixed24()
pf_1_24
:
times
4
dd
0x4B800000
SECTION
.
text
SECTION
.
text
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
...
@@ -178,3 +183,113 @@ INIT_MMX
...
@@ -178,3 +183,113 @@ INIT_MMX
AC3_SHIFT
r
,
32
,
psrad
,
mmx
AC3_SHIFT
r
,
32
,
psrad
,
mmx
INIT_XMM
INIT_XMM
AC3_SHIFT
r
,
32
,
psrad
,
sse2
AC3_SHIFT
r
,
32
,
psrad
,
sse2
;-----------------------------------------------------------------------------
; void ff_float_to_fixed24(int32_t *dst, const float *src, unsigned int len)
;-----------------------------------------------------------------------------
; The 3DNow! version is not bit-identical because pf2id uses truncation rather
; than round-to-nearest.
INIT_MMX
cglobal
float_to_fixed24_3dnow
,
3
,
3
,
0
,
dst
,
src
,
len
movq
m0
,
[
pf_1_24
]
.
loop
:
movq
m1
,
[
srcq
]
movq
m2
,
[
srcq
+
8
]
movq
m3
,
[
srcq
+
16
]
movq
m4
,
[
srcq
+
24
]
pfmul
m1
,
m0
pfmul
m2
,
m0
pfmul
m3
,
m0
pfmul
m4
,
m0
pf2id
m1
,
m1
pf2id
m2
,
m2
pf2id
m3
,
m3
pf2id
m4
,
m4
movq
[
dstq
]
,
m1
movq
[
dstq
+
8
]
,
m2
movq
[
dstq
+
16
]
,
m3
movq
[
dstq
+
24
]
,
m4
add
srcq
,
32
add
dstq
,
32
sub
lend
,
8
ja
.
loop
REP_RET
INIT_XMM
cglobal
float_to_fixed24_sse
,
3
,
3
,
3
,
dst
,
src
,
len
movaps
m0
,
[
pf_1_24
]
.
loop
:
movaps
m1
,
[
srcq
]
movaps
m2
,
[
srcq
+
16
]
mulps
m1
,
m0
mulps
m2
,
m0
cvtps2pi
mm0
,
m1
movhlps
m1
,
m1
cvtps2pi
mm1
,
m1
cvtps2pi
mm2
,
m2
movhlps
m2
,
m2
cvtps2pi
mm3
,
m2
movq
[
dstq
]
,
mm0
movq
[
dstq
+
8
]
,
mm1
movq
[
dstq
+
16
]
,
mm2
movq
[
dstq
+
24
]
,
mm3
add
srcq
,
32
add
dstq
,
32
sub
lend
,
8
ja
.
loop
REP_RET
INIT_XMM
cglobal
float_to_fixed24_sse2
,
3
,
3
,
9
,
dst
,
src
,
len
movaps
m0
,
[
pf_1_24
]
.
loop
:
movaps
m1
,
[
srcq
]
movaps
m2
,
[
srcq
+
16
]
movaps
m3
,
[
srcq
+
32
]
movaps
m4
,
[
srcq
+
48
]
%ifdef
m8
movaps
m5
,
[
srcq
+
64
]
movaps
m6
,
[
srcq
+
80
]
movaps
m7
,
[
srcq
+
96
]
movaps
m8
,
[
srcq
+
112
]
%endif
mulps
m1
,
m0
mulps
m2
,
m0
mulps
m3
,
m0
mulps
m4
,
m0
%ifdef
m8
mulps
m5
,
m0
mulps
m6
,
m0
mulps
m7
,
m0
mulps
m8
,
m0
%endif
cvtps2dq
m1
,
m1
cvtps2dq
m2
,
m2
cvtps2dq
m3
,
m3
cvtps2dq
m4
,
m4
%ifdef
m8
cvtps2dq
m5
,
m5
cvtps2dq
m6
,
m6
cvtps2dq
m7
,
m7
cvtps2dq
m8
,
m8
%endif
movdqa
[
dstq
]
,
m1
movdqa
[
dstq
+
16
]
,
m2
movdqa
[
dstq
+
32
]
,
m3
movdqa
[
dstq
+
48
]
,
m4
%ifdef
m8
movdqa
[
dstq
+
64
]
,
m5
movdqa
[
dstq
+
80
]
,
m6
movdqa
[
dstq
+
96
]
,
m7
movdqa
[
dstq
+
112
]
,
m8
add
srcq
,
128
add
dstq
,
128
sub
lenq
,
32
%else
add
srcq
,
64
add
dstq
,
64
sub
lenq
,
16
%endif
ja
.
loop
REP_RET
libavcodec/x86/ac3dsp_mmx.c
View file @
4eb41d16
...
@@ -38,7 +38,11 @@ extern void ff_ac3_lshift_int16_sse2(int16_t *src, unsigned int len, unsigned in
...
@@ -38,7 +38,11 @@ extern void ff_ac3_lshift_int16_sse2(int16_t *src, unsigned int len, unsigned in
extern
void
ff_ac3_rshift_int32_mmx
(
int32_t
*
src
,
unsigned
int
len
,
unsigned
int
shift
);
extern
void
ff_ac3_rshift_int32_mmx
(
int32_t
*
src
,
unsigned
int
len
,
unsigned
int
shift
);
extern
void
ff_ac3_rshift_int32_sse2
(
int32_t
*
src
,
unsigned
int
len
,
unsigned
int
shift
);
extern
void
ff_ac3_rshift_int32_sse2
(
int32_t
*
src
,
unsigned
int
len
,
unsigned
int
shift
);
av_cold
void
ff_ac3dsp_init_x86
(
AC3DSPContext
*
c
)
extern
void
ff_float_to_fixed24_3dnow
(
int32_t
*
dst
,
const
float
*
src
,
unsigned
int
len
);
extern
void
ff_float_to_fixed24_sse
(
int32_t
*
dst
,
const
float
*
src
,
unsigned
int
len
);
extern
void
ff_float_to_fixed24_sse2
(
int32_t
*
dst
,
const
float
*
src
,
unsigned
int
len
);
av_cold
void
ff_ac3dsp_init_x86
(
AC3DSPContext
*
c
,
int
bit_exact
)
{
{
int
mm_flags
=
av_get_cpu_flags
();
int
mm_flags
=
av_get_cpu_flags
();
...
@@ -49,13 +53,22 @@ av_cold void ff_ac3dsp_init_x86(AC3DSPContext *c)
...
@@ -49,13 +53,22 @@ av_cold void ff_ac3dsp_init_x86(AC3DSPContext *c)
c
->
ac3_lshift_int16
=
ff_ac3_lshift_int16_mmx
;
c
->
ac3_lshift_int16
=
ff_ac3_lshift_int16_mmx
;
c
->
ac3_rshift_int32
=
ff_ac3_rshift_int32_mmx
;
c
->
ac3_rshift_int32
=
ff_ac3_rshift_int32_mmx
;
}
}
if
(
mm_flags
&
AV_CPU_FLAG_3DNOW
&&
HAVE_AMD3DNOW
)
{
if
(
!
bit_exact
)
{
c
->
float_to_fixed24
=
ff_float_to_fixed24_3dnow
;
}
}
if
(
mm_flags
&
AV_CPU_FLAG_MMX2
&&
HAVE_MMX2
)
{
if
(
mm_flags
&
AV_CPU_FLAG_MMX2
&&
HAVE_MMX2
)
{
c
->
ac3_exponent_min
=
ff_ac3_exponent_min_mmxext
;
c
->
ac3_exponent_min
=
ff_ac3_exponent_min_mmxext
;
c
->
ac3_max_msb_abs_int16
=
ff_ac3_max_msb_abs_int16_mmxext
;
c
->
ac3_max_msb_abs_int16
=
ff_ac3_max_msb_abs_int16_mmxext
;
}
}
if
(
mm_flags
&
AV_CPU_FLAG_SSE
&&
HAVE_SSE
)
{
c
->
float_to_fixed24
=
ff_float_to_fixed24_sse
;
}
if
(
mm_flags
&
AV_CPU_FLAG_SSE2
&&
HAVE_SSE
)
{
if
(
mm_flags
&
AV_CPU_FLAG_SSE2
&&
HAVE_SSE
)
{
c
->
ac3_exponent_min
=
ff_ac3_exponent_min_sse2
;
c
->
ac3_exponent_min
=
ff_ac3_exponent_min_sse2
;
c
->
ac3_max_msb_abs_int16
=
ff_ac3_max_msb_abs_int16_sse2
;
c
->
ac3_max_msb_abs_int16
=
ff_ac3_max_msb_abs_int16_sse2
;
c
->
float_to_fixed24
=
ff_float_to_fixed24_sse2
;
if
(
!
(
mm_flags
&
AV_CPU_FLAG_SSE2SLOW
))
{
if
(
!
(
mm_flags
&
AV_CPU_FLAG_SSE2SLOW
))
{
c
->
ac3_lshift_int16
=
ff_ac3_lshift_int16_sse2
;
c
->
ac3_lshift_int16
=
ff_ac3_lshift_int16_sse2
;
c
->
ac3_rshift_int32
=
ff_ac3_rshift_int32_sse2
;
c
->
ac3_rshift_int32
=
ff_ac3_rshift_int32_sse2
;
...
...
libavformat/asfdec.c
View file @
4eb41d16
...
@@ -235,6 +235,7 @@ static int asf_read_stream_properties(AVFormatContext *s, int64_t size)
...
@@ -235,6 +235,7 @@ static int asf_read_stream_properties(AVFormatContext *s, int64_t size)
if
(
!
asf_st
)
if
(
!
asf_st
)
return
AVERROR
(
ENOMEM
);
return
AVERROR
(
ENOMEM
);
st
->
priv_data
=
asf_st
;
st
->
priv_data
=
asf_st
;
st
->
start_time
=
0
;
start_time
=
asf
->
hdr
.
preroll
;
start_time
=
asf
->
hdr
.
preroll
;
asf_st
->
stream_language_index
=
128
;
// invalid stream index means no language info
asf_st
->
stream_language_index
=
128
;
// invalid stream index means no language info
...
@@ -959,7 +960,7 @@ static int ff_asf_parse_packet(AVFormatContext *s, AVIOContext *pb, AVPacket *pk
...
@@ -959,7 +960,7 @@ static int ff_asf_parse_packet(AVFormatContext *s, AVIOContext *pb, AVPacket *pk
/* new packet */
/* new packet */
av_new_packet
(
&
asf_st
->
pkt
,
asf
->
packet_obj_size
);
av_new_packet
(
&
asf_st
->
pkt
,
asf
->
packet_obj_size
);
asf_st
->
seq
=
asf
->
packet_seq
;
asf_st
->
seq
=
asf
->
packet_seq
;
asf_st
->
pkt
.
dts
=
asf
->
packet_frag_timestamp
;
asf_st
->
pkt
.
dts
=
asf
->
packet_frag_timestamp
-
asf
->
hdr
.
preroll
;
asf_st
->
pkt
.
stream_index
=
asf
->
stream_index
;
asf_st
->
pkt
.
stream_index
=
asf
->
stream_index
;
asf_st
->
pkt
.
pos
=
asf_st
->
pkt
.
pos
=
asf_st
->
packet_pos
=
asf
->
packet_pos
;
asf_st
->
packet_pos
=
asf
->
packet_pos
;
...
...
libavformat/avformat.h
View file @
4eb41d16
...
@@ -534,8 +534,6 @@ typedef struct AVStream {
...
@@ -534,8 +534,6 @@ typedef struct AVStream {
* Only set this if you are absolutely 100% sure that the value you set
* Only set this if you are absolutely 100% sure that the value you set
* it to really is the pts of the first frame.
* it to really is the pts of the first frame.
* This may be undefined (AV_NOPTS_VALUE).
* This may be undefined (AV_NOPTS_VALUE).
* @note The ASF header does NOT contain a correct start_time the ASF
* demuxer must NOT set this.
*/
*/
int64_t
start_time
;
int64_t
start_time
;
...
...
libavformat/nutenc.c
View file @
4eb41d16
...
@@ -846,6 +846,7 @@ static int write_trailer(AVFormatContext *s){
...
@@ -846,6 +846,7 @@ static int write_trailer(AVFormatContext *s){
avio_flush
(
bc
);
avio_flush
(
bc
);
ff_nut_free_sp
(
nut
);
ff_nut_free_sp
(
nut
);
av_freep
(
&
nut
->
stream
);
av_freep
(
&
nut
->
stream
);
av_freep
(
&
nut
->
chapter
);
av_freep
(
&
nut
->
time_base
);
av_freep
(
&
nut
->
time_base
);
return
0
;
return
0
;
...
...
tests/ref/seek/lavf_asf
View file @
4eb41d16
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 575 size: 28487
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 575 size: 28487
ret: 0 st:-1 flags:0 ts:-1.000000
ret: 0 st:-1 flags:0 ts:-1.000000
ret: 0 st: 1 flags:1 dts:
3.544000 pts: 3.5
44000 pos: 147775 size: 209
ret: 0 st: 1 flags:1 dts:
0.444000 pts: 0.4
44000 pos: 147775 size: 209
ret: 0 st:-1 flags:1 ts: 1.894167
ret: 0 st:-1 flags:1 ts: 1.894167
ret: 0 st:
0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st:
1 flags:1 dts: 0.960000 pts: 0.960000 pos: -1 size: 209
ret: 0 st: 0 flags:0 ts: 0.788000
ret: 0 st: 0 flags:0 ts: 0.788000
ret: 0 st:
0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st:
1 flags:1 dts: 0.960000 pts: 0.960000 pos: -1 size: 209
ret: 0 st: 0 flags:1 ts:-0.317000
ret: 0 st: 0 flags:1 ts:-0.317000
ret: 0 st: 0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 575 size: 28487
ret: 0 st: 1 flags:0 ts: 2.577000
ret:-1 st: 1 flags:0 ts: 2.577000
ret: 0 st: 1 flags:1 dts: 3.100000 pts: 3.100000 pos: 29375 size: 208
ret:-1 st: 1 flags:1 ts: 1.471000
ret: 0 st: 1 flags:1 ts: 1.471000
ret: 0 st: 1 flags:1 dts: 3.100000 pts: 3.100000 pos: 29375 size: 208
ret: 0 st:-1 flags:0 ts: 0.365002
ret: 0 st:-1 flags:0 ts: 0.365002
ret: 0 st:
0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st:
1 flags:1 dts: 0.444000 pts: 0.444000 pos: 147775 size: 209
ret: 0 st:-1 flags:1 ts:-0.740831
ret: 0 st:-1 flags:1 ts:-0.740831
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 575 size: 28487
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 575 size: 28487
ret: 0 st: 0 flags:0 ts: 2.153000
ret: 0 st: 0 flags:0 ts: 2.153000
ret: 0 st:
0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st:
1 flags:1 dts: 0.960000 pts: 0.960000 pos: -1 size: 209
ret: 0 st: 0 flags:1 ts: 1.048000
ret: 0 st: 0 flags:1 ts: 1.048000
ret: 0 st:
0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st:
1 flags:1 dts: 0.960000 pts: 0.960000 pos: -1 size: 209
ret: 0 st: 1 flags:0 ts:-0.058000
ret: 0 st: 1 flags:0 ts:-0.058000
ret: 0 st: 1 flags:1 dts: 3.100000 pts: 3.100000 pos: 29375 size: 208
ret: 0 st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 29375 size: 208
ret: 0 st: 1 flags:1 ts: 2.836000
ret:-1 st: 1 flags:1 ts: 2.836000
ret: 0 st: 1 flags:1 dts: 3.100000 pts: 3.100000 pos: 29375 size: 208
ret: 0 st:-1 flags:0 ts: 1.730004
ret: 0 st:-1 flags:0 ts: 1.730004
ret: 0 st:
0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st:
1 flags:1 dts: 0.960000 pts: 0.960000 pos: -1 size: 209
ret: 0 st:-1 flags:1 ts: 0.624171
ret: 0 st:-1 flags:1 ts: 0.624171
ret: 0 st:
0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st:
1 flags:1 dts: 0.444000 pts: 0.444000 pos: 147775 size: 209
ret: 0 st: 0 flags:0 ts:-0.482000
ret: 0 st: 0 flags:0 ts:-0.482000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 575 size: 28487
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 575 size: 28487
ret: 0 st: 0 flags:1 ts: 2.413000
ret: 0 st: 0 flags:1 ts: 2.413000
ret: 0 st: 0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st: 1 flags:1 dts: 0.960000 pts: 0.960000 pos: -1 size: 209
ret: 0 st: 1 flags:0 ts: 1.307000
ret:-1 st: 1 flags:0 ts: 1.307000
ret: 0 st: 1 flags:1 dts: 3.100000 pts: 3.100000 pos: 29375 size: 208
ret: 0 st: 1 flags:1 ts: 0.201000
ret: 0 st: 1 flags:1 ts: 0.201000
ret: 0 st: 1 flags:1 dts:
3.100000 pts: 3.100000 pos: 29375 size: 208
ret: 0 st: 1 flags:1 dts:
0.183000 pts: 0.183000 pos: 70975 size: 209
ret: 0 st:-1 flags:0 ts:-0.904994
ret: 0 st:-1 flags:0 ts:-0.904994
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 575 size: 28487
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 575 size: 28487
ret: 0 st:-1 flags:1 ts: 1.989173
ret: 0 st:-1 flags:1 ts: 1.989173
ret: 0 st:
0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st:
1 flags:1 dts: 0.960000 pts: 0.960000 pos: -1 size: 209
ret: 0 st: 0 flags:0 ts: 0.883000
ret: 0 st: 0 flags:0 ts: 0.883000
ret: 0 st:
0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st:
1 flags:1 dts: 0.960000 pts: 0.960000 pos: -1 size: 209
ret: 0 st: 0 flags:1 ts:-0.222000
ret: 0 st: 0 flags:1 ts:-0.222000
ret: 0 st: 0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 575 size: 28487
ret: 0 st: 1 flags:0 ts: 2.672000
ret:-1 st: 1 flags:0 ts: 2.672000
ret: 0 st: 1 flags:1 dts: 3.100000 pts: 3.100000 pos: 29375 size: 208
ret:-1 st: 1 flags:1 ts: 1.566000
ret: 0 st: 1 flags:1 ts: 1.566000
ret: 0 st: 1 flags:1 dts: 3.100000 pts: 3.100000 pos: 29375 size: 208
ret: 0 st:-1 flags:0 ts: 0.460008
ret: 0 st:-1 flags:0 ts: 0.460008
ret: 0 st:
0 flags:1 dts: 3.100000 pts: 3.100000 pos: 575 size: 28487
ret: 0 st:
1 flags:1 dts: 0.444000 pts: 0.444000 pos: 147775 size: 209
ret: 0 st:-1 flags:1 ts:-0.645825
ret: 0 st:-1 flags:1 ts:-0.645825
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 575 size: 28487
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 575 size: 28487
tests/ref/seek/wmav1_asf
View file @
4eb41d16
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 404 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 404 size: 743
ret: 0 st:-1 flags:0 ts:-1.000000
ret: 0 st:-1 flags:0 ts:-1.000000
ret: 0 st: 0 flags:1 dts:
3.286000 pts: 3.2
86000 pos: 3604 size: 743
ret: 0 st: 0 flags:1 dts:
0.186000 pts: 0.1
86000 pos: 3604 size: 743
ret: 0 st:-1 flags:1 ts: 1.894167
ret: 0 st:-1 flags:1 ts: 1.894167
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
404 size: 743
ret: 0 st: 0 flags:1 dts:
1.858000 pts: 1.858000 pos: 32
404 size: 743
ret: 0 st: 0 flags:0 ts: 0.788000
ret: 0 st: 0 flags:0 ts: 0.788000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
404 size: 743
ret: 0 st: 0 flags:1 dts:
0.929000 pts: 0.929000 pos: 16
404 size: 743
ret: 0 st: 0 flags:1 ts:-0.317000
ret: 0 st: 0 flags:1 ts:-0.317000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 404 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 404 size: 743
ret: 0 st:-1 flags:0 ts: 2.576668
ret: 0 st:-1 flags:0 ts: 2.576668
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
04 size: 743
ret: 0 st: 0 flags:1 dts:
2.601000 pts: 2.601000 pos: 452
04 size: 743
ret: 0 st:-1 flags:1 ts: 1.470835
ret: 0 st:-1 flags:1 ts: 1.470835
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
04 size: 743
ret: 0 st: 0 flags:1 dts:
1.300000 pts: 1.300000 pos: 228
04 size: 743
ret: 0 st: 0 flags:0 ts: 0.365000
ret: 0 st: 0 flags:0 ts: 0.365000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
04 size: 743
ret: 0 st: 0 flags:1 dts:
0.372000 pts: 0.372000 pos: 68
04 size: 743
ret: 0 st: 0 flags:1 ts:-0.741000
ret: 0 st: 0 flags:1 ts:-0.741000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 404 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 404 size: 743
ret: 0 st:-1 flags:0 ts: 2.153336
ret: 0 st:-1 flags:0 ts: 2.153336
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
04 size: 743
ret: 0 st: 0 flags:1 dts:
2.229000 pts: 2.229000 pos: 388
04 size: 743
ret: 0 st:-1 flags:1 ts: 1.047503
ret: 0 st:-1 flags:1 ts: 1.047503
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
404 size: 743
ret: 0 st: 0 flags:1 dts:
0.929000 pts: 0.929000 pos: 16
404 size: 743
ret: 0 st: 0 flags:0 ts:-0.058000
ret: 0 st: 0 flags:0 ts:-0.058000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 404 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 404 size: 743
ret: 0 st: 0 flags:1 ts: 2.836000
ret: 0 st: 0 flags:1 ts: 2.836000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
404 size: 743
ret: 0 st: 0 flags:1 dts:
2.786000 pts: 2.786000 pos: 48
404 size: 743
ret: 0 st:-1 flags:0 ts: 1.730004
ret: 0 st:-1 flags:0 ts: 1.730004
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
404 size: 743
ret: 0 st: 0 flags:1 dts:
1.858000 pts: 1.858000 pos: 32
404 size: 743
ret: 0 st:-1 flags:1 ts: 0.624171
ret: 0 st:-1 flags:1 ts: 0.624171
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
04 size: 743
ret: 0 st: 0 flags:1 dts:
0.557000 pts: 0.557000 pos: 100
04 size: 743
ret: 0 st: 0 flags:0 ts:-0.482000
ret: 0 st: 0 flags:0 ts:-0.482000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 404 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 404 size: 743
ret: 0 st: 0 flags:1 ts: 2.413000
ret: 0 st: 0 flags:1 ts: 2.413000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
04 size: 743
ret: 0 st: 0 flags:1 dts:
2.229000 pts: 2.229000 pos: 388
04 size: 743
ret: 0 st:-1 flags:0 ts: 1.306672
ret: 0 st:-1 flags:0 ts: 1.306672
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
04 size: 743
ret: 0 st: 0 flags:1 dts:
1.486000 pts: 1.486000 pos: 260
04 size: 743
ret: 0 st:-1 flags:1 ts: 0.200839
ret: 0 st:-1 flags:1 ts: 0.200839
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
04 size: 743
ret: 0 st: 0 flags:1 dts:
0.186000 pts: 0.186000 pos: 36
04 size: 743
ret: 0 st: 0 flags:0 ts:-0.905000
ret: 0 st: 0 flags:0 ts:-0.905000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 404 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 404 size: 743
ret: 0 st: 0 flags:1 ts: 1.989000
ret: 0 st: 0 flags:1 ts: 1.989000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
404 size: 743
ret: 0 st: 0 flags:1 dts:
1.858000 pts: 1.858000 pos: 32
404 size: 743
ret: 0 st:-1 flags:0 ts: 0.883340
ret: 0 st:-1 flags:0 ts: 0.883340
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
404 size: 743
ret: 0 st: 0 flags:1 dts:
0.929000 pts: 0.929000 pos: 16
404 size: 743
ret: 0 st:-1 flags:1 ts:-0.222493
ret: 0 st:-1 flags:1 ts:-0.222493
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 404 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 404 size: 743
ret: 0 st: 0 flags:0 ts: 2.672000
ret: 0 st: 0 flags:0 ts: 2.672000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
404 size: 743
ret: 0 st: 0 flags:1 dts:
2.786000 pts: 2.786000 pos: 48
404 size: 743
ret: 0 st: 0 flags:1 ts: 1.566000
ret: 0 st: 0 flags:1 ts: 1.566000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
04 size: 743
ret: 0 st: 0 flags:1 dts:
1.486000 pts: 1.486000 pos: 260
04 size: 743
ret: 0 st:-1 flags:0 ts: 0.460008
ret: 0 st:-1 flags:0 ts: 0.460008
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
04 size: 743
ret: 0 st: 0 flags:1 dts:
0.557000 pts: 0.557000 pos: 100
04 size: 743
ret: 0 st:-1 flags:1 ts:-0.645825
ret: 0 st:-1 flags:1 ts:-0.645825
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 404 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 404 size: 743
tests/ref/seek/wmav2_asf
View file @
4eb41d16
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 444 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 444 size: 743
ret: 0 st:-1 flags:0 ts:-1.000000
ret: 0 st:-1 flags:0 ts:-1.000000
ret: 0 st: 0 flags:1 dts:
3.286000 pts: 3.2
86000 pos: 3644 size: 743
ret: 0 st: 0 flags:1 dts:
0.186000 pts: 0.1
86000 pos: 3644 size: 743
ret: 0 st:-1 flags:1 ts: 1.894167
ret: 0 st:-1 flags:1 ts: 1.894167
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
444 size: 743
ret: 0 st: 0 flags:1 dts:
1.858000 pts: 1.858000 pos: 32
444 size: 743
ret: 0 st: 0 flags:0 ts: 0.788000
ret: 0 st: 0 flags:0 ts: 0.788000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
444 size: 743
ret: 0 st: 0 flags:1 dts:
0.929000 pts: 0.929000 pos: 16
444 size: 743
ret: 0 st: 0 flags:1 ts:-0.317000
ret: 0 st: 0 flags:1 ts:-0.317000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 444 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 444 size: 743
ret: 0 st:-1 flags:0 ts: 2.576668
ret: 0 st:-1 flags:0 ts: 2.576668
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
44 size: 743
ret: 0 st: 0 flags:1 dts:
2.601000 pts: 2.601000 pos: 452
44 size: 743
ret: 0 st:-1 flags:1 ts: 1.470835
ret: 0 st:-1 flags:1 ts: 1.470835
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
44 size: 743
ret: 0 st: 0 flags:1 dts:
1.300000 pts: 1.300000 pos: 228
44 size: 743
ret: 0 st: 0 flags:0 ts: 0.365000
ret: 0 st: 0 flags:0 ts: 0.365000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
44 size: 743
ret: 0 st: 0 flags:1 dts:
0.372000 pts: 0.372000 pos: 68
44 size: 743
ret: 0 st: 0 flags:1 ts:-0.741000
ret: 0 st: 0 flags:1 ts:-0.741000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 444 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 444 size: 743
ret: 0 st:-1 flags:0 ts: 2.153336
ret: 0 st:-1 flags:0 ts: 2.153336
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
44 size: 743
ret: 0 st: 0 flags:1 dts:
2.229000 pts: 2.229000 pos: 388
44 size: 743
ret: 0 st:-1 flags:1 ts: 1.047503
ret: 0 st:-1 flags:1 ts: 1.047503
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
444 size: 743
ret: 0 st: 0 flags:1 dts:
0.929000 pts: 0.929000 pos: 16
444 size: 743
ret: 0 st: 0 flags:0 ts:-0.058000
ret: 0 st: 0 flags:0 ts:-0.058000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 444 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 444 size: 743
ret: 0 st: 0 flags:1 ts: 2.836000
ret: 0 st: 0 flags:1 ts: 2.836000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
444 size: 743
ret: 0 st: 0 flags:1 dts:
2.786000 pts: 2.786000 pos: 48
444 size: 743
ret: 0 st:-1 flags:0 ts: 1.730004
ret: 0 st:-1 flags:0 ts: 1.730004
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
444 size: 743
ret: 0 st: 0 flags:1 dts:
1.858000 pts: 1.858000 pos: 32
444 size: 743
ret: 0 st:-1 flags:1 ts: 0.624171
ret: 0 st:-1 flags:1 ts: 0.624171
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
44 size: 743
ret: 0 st: 0 flags:1 dts:
0.557000 pts: 0.557000 pos: 100
44 size: 743
ret: 0 st: 0 flags:0 ts:-0.482000
ret: 0 st: 0 flags:0 ts:-0.482000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 444 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 444 size: 743
ret: 0 st: 0 flags:1 ts: 2.413000
ret: 0 st: 0 flags:1 ts: 2.413000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
44 size: 743
ret: 0 st: 0 flags:1 dts:
2.229000 pts: 2.229000 pos: 388
44 size: 743
ret: 0 st:-1 flags:0 ts: 1.306672
ret: 0 st:-1 flags:0 ts: 1.306672
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
44 size: 743
ret: 0 st: 0 flags:1 dts:
1.486000 pts: 1.486000 pos: 260
44 size: 743
ret: 0 st:-1 flags:1 ts: 0.200839
ret: 0 st:-1 flags:1 ts: 0.200839
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
44 size: 743
ret: 0 st: 0 flags:1 dts:
0.186000 pts: 0.186000 pos: 36
44 size: 743
ret: 0 st: 0 flags:0 ts:-0.905000
ret: 0 st: 0 flags:0 ts:-0.905000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 444 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 444 size: 743
ret: 0 st: 0 flags:1 ts: 1.989000
ret: 0 st: 0 flags:1 ts: 1.989000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
444 size: 743
ret: 0 st: 0 flags:1 dts:
1.858000 pts: 1.858000 pos: 32
444 size: 743
ret: 0 st:-1 flags:0 ts: 0.883340
ret: 0 st:-1 flags:0 ts: 0.883340
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
444 size: 743
ret: 0 st: 0 flags:1 dts:
0.929000 pts: 0.929000 pos: 16
444 size: 743
ret: 0 st:-1 flags:1 ts:-0.222493
ret: 0 st:-1 flags:1 ts:-0.222493
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 444 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 444 size: 743
ret: 0 st: 0 flags:0 ts: 2.672000
ret: 0 st: 0 flags:0 ts: 2.672000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos:
444 size: 743
ret: 0 st: 0 flags:1 dts:
2.786000 pts: 2.786000 pos: 48
444 size: 743
ret: 0 st: 0 flags:1 ts: 1.566000
ret: 0 st: 0 flags:1 ts: 1.566000
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
44 size: 743
ret: 0 st: 0 flags:1 dts:
1.486000 pts: 1.486000 pos: 260
44 size: 743
ret: 0 st:-1 flags:0 ts: 0.460008
ret: 0 st:-1 flags:0 ts: 0.460008
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.100000 pos: 4
44 size: 743
ret: 0 st: 0 flags:1 dts:
0.557000 pts: 0.557000 pos: 100
44 size: 743
ret: 0 st:-1 flags:1 ts:-0.645825
ret: 0 st:-1 flags:1 ts:-0.645825
ret: 0 st: 0 flags:1 dts:
3.100000 pts: 3.1
00000 pos: 444 size: 743
ret: 0 st: 0 flags:1 dts:
0.000000 pts: 0.0
00000 pos: 444 size: 743
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment