Merge remote-tracking branch 'qatar/master'
* qatar/master:
changelog: misc typo and wording fixes
H.264: add filter_mb_fast support for >8-bit decoding
doc: Remove outdated comments about gcc 2.95 and gcc 3.3 support.
lls: use av_lfg instead of rand() in test program
build: remove unnecessary dependency on libs from 'all' target
H.264: avoid redundant alpha/beta calculations in loopfilter
H.264: optimize intra/inter loopfilter decision
mpegts: fix Continuity Counter error detection
build: remove unnecessary FFLDFLAGS variable
vp8/mt: flush worker thread, not application thread context, on seek.
mt: proper locking around release_buffer calls.
DxVA2: unbreak build after [657ccb5ac7]
hwaccel: unbreak build
Eliminate FF_COMMON_FRAME macro.
Conflicts:
Changelog
Makefile
doc/developer.texi
libavcodec/avcodec.h
libavcodec/h264.c
libavcodec/mpeg4videodec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
e10979ff56
59 changed files with 1561 additions and 1528 deletions
|
|
@ -476,8 +476,8 @@ static int decode_pic(AVSContext *h) {
|
|||
return -1;
|
||||
}
|
||||
/* make sure we have the reference frames we need */
|
||||
if(!h->DPB[0].data[0] ||
|
||||
(!h->DPB[1].data[0] && h->pic_type == AV_PICTURE_TYPE_B))
|
||||
if(!h->DPB[0].f.data[0] ||
|
||||
(!h->DPB[1].f.data[0] && h->pic_type == AV_PICTURE_TYPE_B))
|
||||
return -1;
|
||||
} else {
|
||||
h->pic_type = AV_PICTURE_TYPE_I;
|
||||
|
|
@ -494,7 +494,7 @@ static int decode_pic(AVSContext *h) {
|
|||
skip_bits(&s->gb,1); //marker_bit
|
||||
}
|
||||
/* release last B frame */
|
||||
if(h->picture.data[0])
|
||||
if(h->picture.f.data[0])
|
||||
s->avctx->release_buffer(s->avctx, (AVFrame *)&h->picture);
|
||||
|
||||
s->avctx->get_buffer(s->avctx, (AVFrame *)&h->picture);
|
||||
|
|
@ -585,7 +585,7 @@ static int decode_pic(AVSContext *h) {
|
|||
} while(ff_cavs_next_mb(h));
|
||||
}
|
||||
if(h->pic_type != AV_PICTURE_TYPE_B) {
|
||||
if(h->DPB[1].data[0])
|
||||
if(h->DPB[1].f.data[0])
|
||||
s->avctx->release_buffer(s->avctx, (AVFrame *)&h->DPB[1]);
|
||||
h->DPB[1] = h->DPB[0];
|
||||
h->DPB[0] = h->picture;
|
||||
|
|
@ -648,7 +648,7 @@ static int cavs_decode_frame(AVCodecContext * avctx,void *data, int *data_size,
|
|||
s->avctx = avctx;
|
||||
|
||||
if (buf_size == 0) {
|
||||
if(!s->low_delay && h->DPB[0].data[0]) {
|
||||
if (!s->low_delay && h->DPB[0].f.data[0]) {
|
||||
*data_size = sizeof(AVPicture);
|
||||
*picture = *(AVFrame *) &h->DPB[0];
|
||||
}
|
||||
|
|
@ -669,9 +669,9 @@ static int cavs_decode_frame(AVCodecContext * avctx,void *data, int *data_size,
|
|||
break;
|
||||
case PIC_I_START_CODE:
|
||||
if(!h->got_keyframe) {
|
||||
if(h->DPB[0].data[0])
|
||||
if(h->DPB[0].f.data[0])
|
||||
avctx->release_buffer(avctx, (AVFrame *)&h->DPB[0]);
|
||||
if(h->DPB[1].data[0])
|
||||
if(h->DPB[1].f.data[0])
|
||||
avctx->release_buffer(avctx, (AVFrame *)&h->DPB[1]);
|
||||
h->got_keyframe = 1;
|
||||
}
|
||||
|
|
@ -685,7 +685,7 @@ static int cavs_decode_frame(AVCodecContext * avctx,void *data, int *data_size,
|
|||
break;
|
||||
*data_size = sizeof(AVPicture);
|
||||
if(h->pic_type != AV_PICTURE_TYPE_B) {
|
||||
if(h->DPB[1].data[0]) {
|
||||
if(h->DPB[1].f.data[0]) {
|
||||
*picture = *(AVFrame *) &h->DPB[1];
|
||||
} else {
|
||||
*data_size = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue