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:
@@ -41,7 +41,7 @@
|
||||
*/
|
||||
void ff_xvmc_init_block(MpegEncContext *s)
|
||||
{
|
||||
struct xvmc_pix_fmt *render = (struct xvmc_pix_fmt*)s->current_picture.data[2];
|
||||
struct xvmc_pix_fmt *render = (struct xvmc_pix_fmt*)s->current_picture.f.data[2];
|
||||
assert(render && render->xvmc_id == AV_XVMC_ID);
|
||||
|
||||
s->block = (DCTELEM (*)[64])(render->data_blocks + render->next_free_data_block_num * 64);
|
||||
@@ -73,7 +73,7 @@ void ff_xvmc_pack_pblocks(MpegEncContext *s, int cbp)
|
||||
*/
|
||||
int ff_xvmc_field_start(MpegEncContext *s, AVCodecContext *avctx)
|
||||
{
|
||||
struct xvmc_pix_fmt *last, *next, *render = (struct xvmc_pix_fmt*)s->current_picture.data[2];
|
||||
struct xvmc_pix_fmt *last, *next, *render = (struct xvmc_pix_fmt*)s->current_picture.f.data[2];
|
||||
const int mb_block_count = 4 + (1 << s->chroma_format);
|
||||
|
||||
assert(avctx);
|
||||
@@ -113,7 +113,7 @@ int ff_xvmc_field_start(MpegEncContext *s, AVCodecContext *avctx)
|
||||
case AV_PICTURE_TYPE_I:
|
||||
return 0; // no prediction from other frames
|
||||
case AV_PICTURE_TYPE_B:
|
||||
next = (struct xvmc_pix_fmt*)s->next_picture.data[2];
|
||||
next = (struct xvmc_pix_fmt*)s->next_picture.f.data[2];
|
||||
if (!next)
|
||||
return -1;
|
||||
if (next->xvmc_id != AV_XVMC_ID)
|
||||
@@ -121,7 +121,7 @@ int ff_xvmc_field_start(MpegEncContext *s, AVCodecContext *avctx)
|
||||
render->p_future_surface = next->p_surface;
|
||||
// no return here, going to set forward prediction
|
||||
case AV_PICTURE_TYPE_P:
|
||||
last = (struct xvmc_pix_fmt*)s->last_picture.data[2];
|
||||
last = (struct xvmc_pix_fmt*)s->last_picture.f.data[2];
|
||||
if (!last)
|
||||
last = render; // predict second field from the first
|
||||
if (last->xvmc_id != AV_XVMC_ID)
|
||||
@@ -141,7 +141,7 @@ return -1;
|
||||
*/
|
||||
void ff_xvmc_field_end(MpegEncContext *s)
|
||||
{
|
||||
struct xvmc_pix_fmt *render = (struct xvmc_pix_fmt*)s->current_picture.data[2];
|
||||
struct xvmc_pix_fmt *render = (struct xvmc_pix_fmt*)s->current_picture.f.data[2];
|
||||
assert(render);
|
||||
|
||||
if (render->filled_mv_blocks_num > 0)
|
||||
@@ -179,10 +179,10 @@ void ff_xvmc_decode_mb(MpegEncContext *s)
|
||||
|
||||
// Do I need to export quant when I could not perform postprocessing?
|
||||
// Anyway, it doesn't hurt.
|
||||
s->current_picture.qscale_table[mb_xy] = s->qscale;
|
||||
s->current_picture.f.qscale_table[mb_xy] = s->qscale;
|
||||
|
||||
// start of XVMC-specific code
|
||||
render = (struct xvmc_pix_fmt*)s->current_picture.data[2];
|
||||
render = (struct xvmc_pix_fmt*)s->current_picture.f.data[2];
|
||||
assert(render);
|
||||
assert(render->xvmc_id == AV_XVMC_ID);
|
||||
assert(render->mv_blocks);
|
||||
|
||||
Reference in New Issue
Block a user