[FFmpeg-devel] [PATCH]doc/platform: Mention musl where x86_32 is not supported
Ronald S. Bultje
rsbultje at gmail.com
Mon Oct 3 16:41:53 EEST 2016
Hi,
On Mon, Oct 3, 2016 at 8:46 AM, Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:
> 2016-10-03 13:57 GMT+02:00 Hendrik Leppkes <h.leppkes at gmail.com>:
>
> > The underlying problem is that mmx code is mixed with allocations,
>
> Definitely.
>
> > which seems like an unusual case to begin with
>
> I am not sure if I understand this but one instance is calling radix_sort()
> in the dnxhd encoder.
>
> Below is what is needed to run the dnxhd fate tests here (the hr hq test
> crashes), the second hunk is needed to fix thread joining and avoid an
> endless loop. There are also issues with h26x.
>
> You may be interested in this post that contains a link to a work-around
> in musl: http://www.openwall.com/lists/musl/2016/09/14/8
>
> No more comments from me, Carl Eugen
>
> diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c
> index 88edd6b..5b4a36a 100644
> --- a/libavcodec/dnxhdenc.c
> +++ b/libavcodec/dnxhdenc.c
> @@ -1117,6 +1117,7 @@ static int dnxhd_encode_fast(AVCodecContext
> *avctx, DNXHDEncContext *ctx)
> if (RC_VARIANCE)
> avctx->execute2(avctx, dnxhd_mb_var_thread,
> NULL, NULL, ctx->m.mb_height);
> + emms_c();
> radix_sort(ctx->mb_cmp, ctx->m.mb_num);
> for (x = 0; x < ctx->m.mb_num && max_bits > ctx->frame_bits; x++)
> {
> int mb = ctx->mb_cmp[x].mb;
> @@ -1214,6 +1215,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
>
> ff_side_data_set_encoder_stats(pkt, ctx->qscale * FF_QP2LAMBDA,
> NULL, 0, AV_PICTURE_TYPE_I);
>
> + emms_c();
> pkt->flags |= AV_PKT_FLAG_KEY;
> *got_packet = 1;
> return 0;
I don't think we should litter each and every decoder/encoder with calls to
emms_c().
Ronald
More information about the ffmpeg-devel
mailing list