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
1d0feb5d
Commit
1d0feb5d
authored
Feb 03, 2013
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mpegvideo: split ff_draw_horiz_band().
Split out dependency on MpegEncContext.
parent
54974c62
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
84 additions
and
62 deletions
+84
-62
dxva2.c
libavcodec/dxva2.c
+1
-1
h263dec.c
libavcodec/h263dec.c
+2
-2
h264.c
libavcodec/h264.c
+1
-1
intrax8.c
libavcodec/intrax8.c
+1
-1
mpeg12.c
libavcodec/mpeg12.c
+1
-1
mpegvideo.c
libavcodec/mpegvideo.c
+52
-34
mpegvideo.h
libavcodec/mpegvideo.h
+5
-1
mpegvideo_xvmc.c
libavcodec/mpegvideo_xvmc.c
+2
-2
svq3.c
libavcodec/svq3.c
+1
-1
vaapi.c
libavcodec/vaapi.c
+1
-1
vc1dec.c
libavcodec/vc1dec.c
+12
-12
vdpau.c
libavcodec/vdpau.c
+5
-5
No files found.
libavcodec/dxva2.c
View file @
1d0feb5d
...
...
@@ -147,6 +147,6 @@ end:
}
if
(
!
result
)
ff_draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
ff_
mpeg_
draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
return
result
;
}
libavcodec/h263dec.c
View file @
1d0feb5d
...
...
@@ -235,7 +235,7 @@ static int decode_slice(MpegEncContext *s){
if
(
++
s
->
mb_x
>=
s
->
mb_width
){
s
->
mb_x
=
0
;
ff_draw_horiz_band
(
s
,
s
->
mb_y
*
mb_size
,
mb_size
);
ff_
mpeg_
draw_horiz_band
(
s
,
s
->
mb_y
*
mb_size
,
mb_size
);
ff_MPV_report_decode_progress
(
s
);
s
->
mb_y
++
;
}
...
...
@@ -256,7 +256,7 @@ static int decode_slice(MpegEncContext *s){
ff_h263_loop_filter
(
s
);
}
ff_draw_horiz_band
(
s
,
s
->
mb_y
*
mb_size
,
mb_size
);
ff_
mpeg_
draw_horiz_band
(
s
,
s
->
mb_y
*
mb_size
,
mb_size
);
ff_MPV_report_decode_progress
(
s
);
s
->
mb_x
=
0
;
...
...
libavcodec/h264.c
View file @
1d0feb5d
...
...
@@ -3662,7 +3662,7 @@ static void decode_finish_row(H264Context *h)
top
=
0
;
}
ff_draw_horiz_band
(
s
,
top
,
height
);
ff_
mpeg_
draw_horiz_band
(
s
,
top
,
height
);
if
(
s
->
droppable
)
return
;
...
...
libavcodec/intrax8.c
View file @
1d0feb5d
...
...
@@ -779,7 +779,7 @@ int ff_intrax8_decode_picture(IntraX8Context * const w, int dquant, int quant_of
s
->
dest
[
0
]
+=
8
;
}
if
(
s
->
mb_y
&
1
){
ff_draw_horiz_band
(
s
,
(
s
->
mb_y
-
1
)
*
8
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
(
s
->
mb_y
-
1
)
*
8
,
16
);
}
}
...
...
libavcodec/mpeg12.c
View file @
1d0feb5d
...
...
@@ -1762,7 +1762,7 @@ static int mpeg_decode_slice(MpegEncContext *s, int mb_y,
if
(
++
s
->
mb_x
>=
s
->
mb_width
)
{
const
int
mb_size
=
16
;
ff_draw_horiz_band
(
s
,
mb_size
*
(
s
->
mb_y
>>
field_pic
),
mb_size
);
ff_
mpeg_
draw_horiz_band
(
s
,
mb_size
*
(
s
->
mb_y
>>
field_pic
),
mb_size
);
ff_MPV_report_decode_progress
(
s
);
s
->
mb_x
=
0
;
...
...
libavcodec/mpegvideo.c
View file @
1d0feb5d
...
...
@@ -2459,73 +2459,91 @@ void ff_MPV_decode_mb(MpegEncContext *s, int16_t block[12][64]){
/**
* @param h is the normal height, this will be reduced automatically if needed for the last row
*/
void
ff_draw_horiz_band
(
MpegEncContext
*
s
,
int
y
,
int
h
){
const
int
field_pic
=
s
->
picture_structure
!=
PICT_FRAME
;
void
ff_draw_horiz_band
(
AVCodecContext
*
avctx
,
DSPContext
*
dsp
,
Picture
*
cur
,
Picture
*
last
,
int
y
,
int
h
,
int
picture_structure
,
int
first_field
,
int
draw_edges
,
int
low_delay
,
int
v_edge_pos
,
int
h_edge_pos
)
{
const
AVPixFmtDescriptor
*
desc
=
av_pix_fmt_desc_get
(
avctx
->
pix_fmt
);
int
hshift
=
desc
->
log2_chroma_w
;
int
vshift
=
desc
->
log2_chroma_h
;
const
int
field_pic
=
picture_structure
!=
PICT_FRAME
;
if
(
field_pic
){
h
<<=
1
;
y
<<=
1
;
}
if
(
!
s
->
avctx
->
hwaccel
&&
!
(
s
->
avctx
->
codec
->
capabilities
&
CODEC_CAP_HWACCEL_VDPAU
)
&&
s
->
unrestricted_mv
&&
s
->
current_picture
.
f
.
reference
&&
!
s
->
intra_only
&&
!
(
s
->
flags
&
CODEC_FLAG_EMU_EDGE
))
{
const
AVPixFmtDescriptor
*
desc
=
av_pix_fmt_desc_get
(
s
->
avctx
->
pix_fmt
);
if
(
!
avctx
->
hwaccel
&&
!
(
avctx
->
codec
->
capabilities
&
CODEC_CAP_HWACCEL_VDPAU
)
&&
draw_edges
&&
cur
->
f
.
reference
&&
!
(
avctx
->
flags
&
CODEC_FLAG_EMU_EDGE
))
{
int
*
linesize
=
cur
->
f
.
linesize
;
int
sides
=
0
,
edge_h
;
int
hshift
=
desc
->
log2_chroma_w
;
int
vshift
=
desc
->
log2_chroma_h
;
if
(
y
==
0
)
sides
|=
EDGE_TOP
;
if
(
y
+
h
>=
s
->
v_edge_pos
)
sides
|=
EDGE_BOTTOM
;
if
(
y
+
h
>=
v_edge_pos
)
sides
|=
EDGE_BOTTOM
;
edge_h
=
FFMIN
(
h
,
s
->
v_edge_pos
-
y
);
edge_h
=
FFMIN
(
h
,
v_edge_pos
-
y
);
s
->
dsp
.
draw_edges
(
s
->
current_picture_ptr
->
f
.
data
[
0
]
+
y
*
s
->
linesize
,
s
->
linesize
,
s
->
h_edge_pos
,
edge_h
,
EDGE_WIDTH
,
EDGE_WIDTH
,
sides
);
s
->
dsp
.
draw_edges
(
s
->
current_picture_ptr
->
f
.
data
[
1
]
+
(
y
>>
vshift
)
*
s
->
uvlinesize
,
s
->
uvlinesize
,
s
->
h_edge_pos
>>
hshift
,
edge_h
>>
vshift
,
EDGE_WIDTH
>>
hshift
,
EDGE_WIDTH
>>
vshift
,
sides
);
s
->
dsp
.
draw_edges
(
s
->
current_picture_ptr
->
f
.
data
[
2
]
+
(
y
>>
vshift
)
*
s
->
uvlinesize
,
s
->
uvlinesize
,
s
->
h_edge_pos
>>
hshift
,
edge_h
>>
vshift
,
EDGE_WIDTH
>>
hshift
,
EDGE_WIDTH
>>
vshift
,
sides
);
dsp
->
draw_edges
(
cur
->
f
.
data
[
0
]
+
y
*
linesize
[
0
]
,
linesize
[
0
],
h_edge_pos
,
edge_h
,
EDGE_WIDTH
,
EDGE_WIDTH
,
sides
);
dsp
->
draw_edges
(
cur
->
f
.
data
[
1
]
+
(
y
>>
vshift
)
*
linesize
[
1
]
,
linesize
[
1
],
h_edge_pos
>>
hshift
,
edge_h
>>
vshift
,
EDGE_WIDTH
>>
hshift
,
EDGE_WIDTH
>>
vshift
,
sides
);
dsp
->
draw_edges
(
cur
->
f
.
data
[
2
]
+
(
y
>>
vshift
)
*
linesize
[
2
]
,
linesize
[
2
],
h_edge_pos
>>
hshift
,
edge_h
>>
vshift
,
EDGE_WIDTH
>>
hshift
,
EDGE_WIDTH
>>
vshift
,
sides
);
}
h
=
FFMIN
(
h
,
s
->
avctx
->
height
-
y
);
h
=
FFMIN
(
h
,
avctx
->
height
-
y
);
if
(
field_pic
&&
s
->
first_field
&&
!
(
s
->
avctx
->
slice_flags
&
SLICE_FLAG_ALLOW_FIELD
))
return
;
if
(
field_pic
&&
first_field
&&
!
(
avctx
->
slice_flags
&
SLICE_FLAG_ALLOW_FIELD
))
return
;
if
(
s
->
avctx
->
draw_horiz_band
)
{
if
(
avctx
->
draw_horiz_band
)
{
AVFrame
*
src
;
int
offset
[
AV_NUM_DATA_POINTERS
];
int
i
;
if
(
s
->
pict_type
==
AV_PICTURE_TYPE_B
||
s
->
low_delay
||
(
s
->
avctx
->
slice_flags
&
SLICE_FLAG_CODED_ORDER
))
src
=
&
s
->
current_picture_ptr
->
f
;
else
if
(
s
->
last_picture_ptr
)
src
=
&
s
->
last_picture_ptr
->
f
;
if
(
cur
->
f
.
pict_type
==
AV_PICTURE_TYPE_B
||
low_delay
||
(
avctx
->
slice_flags
&
SLICE_FLAG_CODED_ORDER
))
src
=
&
cur
->
f
;
else
if
(
last
)
src
=
&
last
->
f
;
else
return
;
if
(
s
->
pict_type
==
AV_PICTURE_TYPE_B
&&
s
->
picture_structure
==
PICT_FRAME
&&
s
->
out_format
!=
FMT_H264
){
if
(
cur
->
f
.
pict_type
==
AV_PICTURE_TYPE_B
&&
picture_structure
==
PICT_FRAME
&&
avctx
->
codec_id
!=
AV_CODEC_ID_H264
&&
avctx
->
codec_id
!=
AV_CODEC_ID_SVQ3
)
{
for
(
i
=
0
;
i
<
AV_NUM_DATA_POINTERS
;
i
++
)
offset
[
i
]
=
0
;
}
else
{
offset
[
0
]
=
y
*
s
->
linesize
;
offset
[
0
]
=
y
*
s
rc
->
linesize
[
0
]
;
offset
[
1
]
=
offset
[
2
]
=
(
y
>>
s
->
chroma_y_shift
)
*
s
->
uvlinesize
;
offset
[
2
]
=
(
y
>>
vshift
)
*
src
->
linesize
[
1
]
;
for
(
i
=
3
;
i
<
AV_NUM_DATA_POINTERS
;
i
++
)
offset
[
i
]
=
0
;
}
emms_c
();
s
->
avctx
->
draw_horiz_band
(
s
->
avctx
,
src
,
offset
,
y
,
s
->
picture_structure
,
h
);
avctx
->
draw_horiz_band
(
avctx
,
src
,
offset
,
y
,
picture_structure
,
h
);
}
}
void
ff_mpeg_draw_horiz_band
(
MpegEncContext
*
s
,
int
y
,
int
h
)
{
int
draw_edges
=
s
->
unrestricted_mv
&&
!
s
->
intra_only
;
ff_draw_horiz_band
(
s
->
avctx
,
&
s
->
dsp
,
&
s
->
current_picture
,
&
s
->
last_picture
,
y
,
h
,
s
->
picture_structure
,
s
->
first_field
,
draw_edges
,
s
->
low_delay
,
s
->
v_edge_pos
,
s
->
h_edge_pos
);
}
void
ff_init_block_index
(
MpegEncContext
*
s
){
//FIXME maybe rename
const
int
linesize
=
s
->
current_picture
.
f
.
linesize
[
0
];
//not s->linesize as this would be wrong for field pics
const
int
uvlinesize
=
s
->
current_picture
.
f
.
linesize
[
1
];
...
...
libavcodec/mpegvideo.h
View file @
1d0feb5d
...
...
@@ -760,7 +760,11 @@ void ff_MPV_common_init_arm(MpegEncContext *s);
void
ff_MPV_common_init_altivec
(
MpegEncContext
*
s
);
void
ff_MPV_common_init_bfin
(
MpegEncContext
*
s
);
void
ff_clean_intra_table_entries
(
MpegEncContext
*
s
);
void
ff_draw_horiz_band
(
MpegEncContext
*
s
,
int
y
,
int
h
);
void
ff_draw_horiz_band
(
AVCodecContext
*
avctx
,
DSPContext
*
dsp
,
Picture
*
cur
,
Picture
*
last
,
int
y
,
int
h
,
int
picture_structure
,
int
first_field
,
int
draw_edges
,
int
low_delay
,
int
v_edge_pos
,
int
h_edge_pos
);
void
ff_mpeg_draw_horiz_band
(
MpegEncContext
*
s
,
int
y
,
int
h
);
void
ff_mpeg_flush
(
AVCodecContext
*
avctx
);
void
ff_print_debug_info
(
MpegEncContext
*
s
,
AVFrame
*
pict
);
void
ff_write_quant_matrix
(
PutBitContext
*
pb
,
uint16_t
*
matrix
);
...
...
libavcodec/mpegvideo_xvmc.c
View file @
1d0feb5d
...
...
@@ -145,7 +145,7 @@ void ff_xvmc_field_end(MpegEncContext *s)
assert
(
render
);
if
(
render
->
filled_mv_blocks_num
>
0
)
ff_draw_horiz_band
(
s
,
0
,
0
);
ff_
mpeg_
draw_horiz_band
(
s
,
0
,
0
);
}
/**
...
...
@@ -328,5 +328,5 @@ void ff_xvmc_decode_mb(MpegEncContext *s)
if
(
render
->
filled_mv_blocks_num
==
render
->
allocated_mv_blocks
)
ff_draw_horiz_band
(
s
,
0
,
0
);
ff_
mpeg_
draw_horiz_band
(
s
,
0
,
0
);
}
libavcodec/svq3.c
View file @
1d0feb5d
...
...
@@ -1126,7 +1126,7 @@ static int svq3_decode_frame(AVCodecContext *avctx, void *data,
(
s
->
pict_type
==
AV_PICTURE_TYPE_P
&&
mb_type
<
8
)
?
(
mb_type
-
1
)
:
-
1
;
}
ff_draw_horiz_band
(
s
,
16
*
s
->
mb_y
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
16
*
s
->
mb_y
,
16
);
}
ff_MPV_frame_end
(
s
);
...
...
libavcodec/vaapi.c
View file @
1d0feb5d
...
...
@@ -187,7 +187,7 @@ int ff_vaapi_common_end_frame(MpegEncContext *s)
if
(
vactx
->
n_slice_buf_ids
>
0
)
{
if
(
render_picture
(
vactx
,
ff_vaapi_get_surface_id
(
s
->
current_picture_ptr
))
<
0
)
goto
done
;
ff_draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
ff_
mpeg_
draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
}
ret
=
0
;
...
...
libavcodec/vc1dec.c
View file @
1d0feb5d
...
...
@@ -4441,14 +4441,14 @@ static void vc1_decode_i_blocks(VC1Context *v)
}
}
if
(
!
v
->
s
.
loop_filter
)
ff_draw_horiz_band
(
s
,
s
->
mb_y
*
16
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
s
->
mb_y
*
16
,
16
);
else
if
(
s
->
mb_y
)
ff_draw_horiz_band
(
s
,
(
s
->
mb_y
-
1
)
*
16
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
(
s
->
mb_y
-
1
)
*
16
,
16
);
s
->
first_slice_line
=
0
;
}
if
(
v
->
s
.
loop_filter
)
ff_draw_horiz_band
(
s
,
(
s
->
end_mb_y
-
1
)
*
16
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
(
s
->
end_mb_y
-
1
)
*
16
,
16
);
/* This is intentionally mb_height and not end_mb_y - unlike in advanced
* profile, these only differ are when decoding MSS2 rectangles. */
...
...
@@ -4569,9 +4569,9 @@ static void vc1_decode_i_blocks_adv(VC1Context *v)
}
}
if
(
!
v
->
s
.
loop_filter
)
ff_draw_horiz_band
(
s
,
s
->
mb_y
*
16
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
s
->
mb_y
*
16
,
16
);
else
if
(
s
->
mb_y
)
ff_draw_horiz_band
(
s
,
(
s
->
mb_y
-
1
)
*
16
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
(
s
->
mb_y
-
1
)
*
16
,
16
);
s
->
first_slice_line
=
0
;
}
...
...
@@ -4585,7 +4585,7 @@ static void vc1_decode_i_blocks_adv(VC1Context *v)
vc1_loop_filter_iblk_delayed
(
v
,
v
->
pq
);
}
if
(
v
->
s
.
loop_filter
)
ff_draw_horiz_band
(
s
,
(
s
->
end_mb_y
-
1
)
*
16
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
(
s
->
end_mb_y
-
1
)
*
16
,
16
);
ff_er_add_slice
(
&
s
->
er
,
0
,
s
->
start_mb_y
<<
v
->
field_mode
,
s
->
mb_width
-
1
,
(
s
->
end_mb_y
<<
v
->
field_mode
)
-
1
,
ER_MB_END
);
}
...
...
@@ -4648,7 +4648,7 @@ static void vc1_decode_p_blocks(VC1Context *v)
memmove
(
v
->
ttblk_base
,
v
->
ttblk
,
sizeof
(
v
->
ttblk_base
[
0
])
*
s
->
mb_stride
);
memmove
(
v
->
is_intra_base
,
v
->
is_intra
,
sizeof
(
v
->
is_intra_base
[
0
])
*
s
->
mb_stride
);
memmove
(
v
->
luma_mv_base
,
v
->
luma_mv
,
sizeof
(
v
->
luma_mv_base
[
0
])
*
s
->
mb_stride
);
if
(
s
->
mb_y
!=
s
->
start_mb_y
)
ff_draw_horiz_band
(
s
,
(
s
->
mb_y
-
1
)
*
16
,
16
);
if
(
s
->
mb_y
!=
s
->
start_mb_y
)
ff_
mpeg_
draw_horiz_band
(
s
,
(
s
->
mb_y
-
1
)
*
16
,
16
);
s
->
first_slice_line
=
0
;
}
if
(
apply_loop_filter
)
{
...
...
@@ -4660,7 +4660,7 @@ static void vc1_decode_p_blocks(VC1Context *v)
}
}
if
(
s
->
end_mb_y
>=
s
->
start_mb_y
)
ff_draw_horiz_band
(
s
,
(
s
->
end_mb_y
-
1
)
*
16
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
(
s
->
end_mb_y
-
1
)
*
16
,
16
);
ff_er_add_slice
(
&
s
->
er
,
0
,
s
->
start_mb_y
<<
v
->
field_mode
,
s
->
mb_width
-
1
,
(
s
->
end_mb_y
<<
v
->
field_mode
)
-
1
,
ER_MB_END
);
}
...
...
@@ -4715,13 +4715,13 @@ static void vc1_decode_b_blocks(VC1Context *v)
if
(
v
->
s
.
loop_filter
)
vc1_loop_filter_iblk
(
v
,
v
->
pq
);
}
if
(
!
v
->
s
.
loop_filter
)
ff_draw_horiz_band
(
s
,
s
->
mb_y
*
16
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
s
->
mb_y
*
16
,
16
);
else
if
(
s
->
mb_y
)
ff_draw_horiz_band
(
s
,
(
s
->
mb_y
-
1
)
*
16
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
(
s
->
mb_y
-
1
)
*
16
,
16
);
s
->
first_slice_line
=
0
;
}
if
(
v
->
s
.
loop_filter
)
ff_draw_horiz_band
(
s
,
(
s
->
end_mb_y
-
1
)
*
16
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
(
s
->
end_mb_y
-
1
)
*
16
,
16
);
ff_er_add_slice
(
&
s
->
er
,
0
,
s
->
start_mb_y
<<
v
->
field_mode
,
s
->
mb_width
-
1
,
(
s
->
end_mb_y
<<
v
->
field_mode
)
-
1
,
ER_MB_END
);
}
...
...
@@ -4739,7 +4739,7 @@ static void vc1_decode_skip_blocks(VC1Context *v)
memcpy
(
s
->
dest
[
0
],
s
->
last_picture
.
f
.
data
[
0
]
+
s
->
mb_y
*
16
*
s
->
linesize
,
s
->
linesize
*
16
);
memcpy
(
s
->
dest
[
1
],
s
->
last_picture
.
f
.
data
[
1
]
+
s
->
mb_y
*
8
*
s
->
uvlinesize
,
s
->
uvlinesize
*
8
);
memcpy
(
s
->
dest
[
2
],
s
->
last_picture
.
f
.
data
[
2
]
+
s
->
mb_y
*
8
*
s
->
uvlinesize
,
s
->
uvlinesize
*
8
);
ff_draw_horiz_band
(
s
,
s
->
mb_y
*
16
,
16
);
ff_
mpeg_
draw_horiz_band
(
s
,
s
->
mb_y
*
16
,
16
);
s
->
first_slice_line
=
0
;
}
s
->
pict_type
=
AV_PICTURE_TYPE_P
;
...
...
libavcodec/vdpau.c
View file @
1d0feb5d
...
...
@@ -59,7 +59,7 @@ int ff_vdpau_common_end_frame(AVCodecContext *avctx)
hwctx
->
render
(
hwctx
->
decoder
,
surf
,
(
void
*
)
&
hwctx
->
info
,
hwctx
->
bitstream_buffers_used
,
hwctx
->
bitstream_buffers
);
ff_draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
ff_
mpeg_
draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
hwctx
->
bitstream_buffers_used
=
0
;
}
return
0
;
...
...
@@ -235,7 +235,7 @@ void ff_vdpau_h264_picture_complete(MpegEncContext *s)
memcpy
(
render
->
info
.
h264
.
scaling_lists_8x8
[
0
],
h
->
pps
.
scaling_matrix8
[
0
],
sizeof
(
render
->
info
.
h264
.
scaling_lists_8x8
[
0
]));
memcpy
(
render
->
info
.
h264
.
scaling_lists_8x8
[
1
],
h
->
pps
.
scaling_matrix8
[
3
],
sizeof
(
render
->
info
.
h264
.
scaling_lists_8x8
[
0
]));
ff_draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
ff_
mpeg_
draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
render
->
bitstream_buffers_used
=
0
;
}
...
...
@@ -292,7 +292,7 @@ void ff_vdpau_mpeg_picture_complete(MpegEncContext *s, const uint8_t *buf,
render
->
info
.
mpeg
.
slice_count
=
slice_count
;
if
(
slice_count
)
ff_draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
ff_
mpeg_
draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
render
->
bitstream_buffers_used
=
0
;
}
...
...
@@ -361,7 +361,7 @@ void ff_vdpau_vc1_decode_picture(MpegEncContext *s, const uint8_t *buf,
render
->
info
.
vc1
.
slice_count
=
1
;
ff_draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
ff_
mpeg_
draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
render
->
bitstream_buffers_used
=
0
;
}
...
...
@@ -415,7 +415,7 @@ void ff_vdpau_mpeg4_decode_picture(MpegEncContext *s, const uint8_t *buf,
ff_vdpau_add_data_chunk
(
s
,
buf
,
buf_size
);
ff_draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
ff_
mpeg_
draw_horiz_band
(
s
,
0
,
s
->
avctx
->
height
);
render
->
bitstream_buffers_used
=
0
;
}
...
...
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