mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
Add HW acceleration hooks for MPEG-4 / H.263 decoding.
Patch by Gwenole Beauchesne. Originally committed as revision 17637 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
6aca2c6785
commit
1468d503a9
@ -161,8 +161,12 @@ static int decode_slice(MpegEncContext *s){
|
||||
|
||||
ff_set_qscale(s, s->qscale);
|
||||
|
||||
if (s->avctx->hwaccel)
|
||||
return 0;
|
||||
if (s->avctx->hwaccel) {
|
||||
const uint8_t *start= s->gb.buffer + get_bits_count(&s->gb)/8;
|
||||
const uint8_t *end = ff_h263_find_resync_marker(start + 1, s->gb.buffer_end);
|
||||
skip_bits_long(&s->gb, 8*(end - start));
|
||||
return s->avctx->hwaccel->decode_slice(s->avctx, start, end - start);
|
||||
}
|
||||
|
||||
if(s->partitioned_frame){
|
||||
const int qscale= s->qscale;
|
||||
@ -617,6 +621,11 @@ retry:
|
||||
if(MPV_frame_start(s, avctx) < 0)
|
||||
return -1;
|
||||
|
||||
if (avctx->hwaccel) {
|
||||
if (avctx->hwaccel->start_frame(avctx, buf, buf_size) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
av_log(avctx, AV_LOG_DEBUG, "qscale=%d\n", s->qscale);
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user