From f78108598211053d41752a83e0345441bb9014ae Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 11 Feb 2018 16:09:52 +0000 Subject: gentoo resync : 11.02.2018 --- media-video/mplayer/Manifest | 3 - .../mplayer/files/mplayer-1.2-get_buffer.patch | 327 --------------------- .../files/mplayer-1.2_pre20150730-chan.patch | 25 -- .../files/mplayer-1.2_pre20150730-encode.patch | 82 ------ 4 files changed, 437 deletions(-) delete mode 100644 media-video/mplayer/files/mplayer-1.2-get_buffer.patch delete mode 100644 media-video/mplayer/files/mplayer-1.2_pre20150730-chan.patch delete mode 100644 media-video/mplayer/files/mplayer-1.2_pre20150730-encode.patch (limited to 'media-video/mplayer') diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest index 7cff4eb9ffab..c14b4ec7332b 100644 --- a/media-video/mplayer/Manifest +++ b/media-video/mplayer/Manifest @@ -1,7 +1,4 @@ AUX dump_ffmpeg.sh 2529 BLAKE2B 2c945fcf0b430d74c85557f82497dbc4a2a8308ecb34c86e42cc3c6a5eed20496691839355c068ccabf6d20d11d62035231aa208341a1ce9affc44b3e30acfde SHA512 12c15efa5cdb99eac92ff808fa56c6137343cca48b73d5875a7a6b08cf36ebeda5022eb3bae0ba567ff9031d2a0f3b5dbe69ee191ae8ecf48b98a779504df66c -AUX mplayer-1.2-get_buffer.patch 12054 BLAKE2B 67f3c403ef2040f7114b6daeaa7f978954bd38913ac1c0933b60e2dddc58482d7b66ef1522d82926c9d9fcf303e804a9a6be5063c364e3955ef22f3b6d68685a SHA512 9180c1d8cb151ce2c31ef196cbc10fc0a9e694995f49bc560e3335c76e424441b53306283d6fe89ea7a3ca933ef6801d5f155942951754a217fee3d3f34ad2a0 -AUX mplayer-1.2_pre20150730-chan.patch 966 BLAKE2B 2a17ab137c53e6df01a7cab615d22c83282fab99e5d6e84e9ac97cd2bf6cd3265dee550651b0c611d9a65f28a11be1823c5c92a186f836b037109ec0132ac8aa SHA512 9ea28c193d26feba870283d110a69d42e739696571ac13d40f983b4b6f0c83f01befd12fa7825b2dca10d5f3279d29d71dd07f2f53553f78e88b182fd8250df4 -AUX mplayer-1.2_pre20150730-encode.patch 3022 BLAKE2B ab314f4ebf8363fe0a5140886f9e7be934c0820def15db4c986a94c36e9b74fab6d15709cf7a53ec3f5a43584fb99621c39d15392b23a5a7950239f19d429739 SHA512 c1da3944616205c92926910d93bf9ee39404f46cad07a68df28050aeab88a358480e9cfe09f41af8fa047b623d9400bcebc1a05c6982f704d5164a777e591792 AUX mplayer-1.3-CVE-2016-4352.patch 617 BLAKE2B 57f85be46230fa0576c6569bafc8c65f24b0a59d3b083c06d2e14fe176505567feca5024bafd73fb1b48960ea95a4705132ed6e2166a31aabcd1e34fc41e3803 SHA512 654bfa8368a02669ba249aa0c1a605f285d4d967b7038285df0ba7b83cd034ac3aff933a564fd6f33c7a153267be19d9eb517a52c8f4b53a6f81b6b2c5558512 AUX mplayer-1.3-vdpau-x11.patch 543 BLAKE2B 5e8b01243a8fd8a09389adeefadd2e3631a679138b3e50d100737703854121bb02815829dcc2ff408ad90389cba95da8ba1e4585e8c8dbd25ef52c9802f56f2e SHA512 c0dfdca8075fd8bdad7cde99e163ba5d55e6268883f852917e287eeeace85b06e244b727bd87501c77ff72fce4b6ba317d45694f1086b5cd1a63fe3ca222f805 AUX prepare_mplayer.sh 757 BLAKE2B 5de1cb4b17628dd5443f98a20717f8ed028a76446104a471a669b1c7ed7a5b76a8e86203f436240312ac4814a0ba7dba7856bb4f3723da850188a3003aae8bbb SHA512 0add0707e15d58cee331fc82f884a44b29908c503f9ddcbb63dc01e237e2f457f599bae8644ce49f1af2cc7b3183529364ce30e6748889355c17cb96cecee71a diff --git a/media-video/mplayer/files/mplayer-1.2-get_buffer.patch b/media-video/mplayer/files/mplayer-1.2-get_buffer.patch deleted file mode 100644 index 3329b9803603..000000000000 --- a/media-video/mplayer/files/mplayer-1.2-get_buffer.patch +++ /dev/null @@ -1,327 +0,0 @@ -r37476 | rtogni | 2015-09-05 18:20:27 +0200 (Sat, 05 Sep 2015) | 5 lines - -Replace deprecated get_buffer, buffer_hints, and others - -This is needed to compile with latest FFmpeg - -Index: libmpcodecs/vd_ffmpeg.c -=================================================================== ---- libmpcodecs/vd_ffmpeg.c (revision 37475) -+++ libmpcodecs/vd_ffmpeg.c (revision 37476) -@@ -40,6 +40,7 @@ - #if CONFIG_VDPAU - #include "libavcodec/vdpau.h" - #endif -+#include "libavutil/pixdesc.h" - - static const vd_info_t info = { - "FFmpeg's libavcodec codec family", -@@ -95,8 +96,11 @@ - - #include "m_option.h" - --static int get_buffer(AVCodecContext *avctx, AVFrame *pic); -+static int get_buffer(AVCodecContext *avctx, AVFrame *pic, int isreference); -+static int mpcodec_default_get_buffer(AVCodecContext *avctx, AVFrame *frame); -+static int get_buffer2(AVCodecContext *avctx, AVFrame *frame, int flags); - static void release_buffer(AVCodecContext *avctx, AVFrame *pic); -+static void mpcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic); - static void draw_slice(struct AVCodecContext *s, const AVFrame *src, int offset[4], - int y, int type, int height); - -@@ -269,19 +273,10 @@ - if (lavc_param_vismv || (lavc_param_debug & (FF_DEBUG_VIS_MB_TYPE|FF_DEBUG_VIS_QP))) { - ctx->do_slices = ctx->do_dr1 = 0; - } --#ifndef CODEC_FLAG_EMU_EDGE --#define CODEC_FLAG_EMU_EDGE 0 --#endif - if(ctx->do_dr1){ -- avctx->flags |= CODEC_FLAG_EMU_EDGE; -- avctx-> reget_buffer = -- avctx-> get_buffer = get_buffer; -- avctx->release_buffer = release_buffer; -+ avctx->get_buffer2 = get_buffer2; - } else if (lavc_codec->capabilities & CODEC_CAP_DR1) { -- avctx->flags &= ~CODEC_FLAG_EMU_EDGE; -- avctx-> reget_buffer = avcodec_default_reget_buffer; -- avctx-> get_buffer = avcodec_default_get_buffer; -- avctx->release_buffer = avcodec_default_release_buffer; -+ avctx->get_buffer2 = avcodec_default_get_buffer2; - } - avctx->slice_flags = 0; - } -@@ -309,9 +304,7 @@ - if (IMGFMT_IS_HWACCEL(imgfmt)) { - ctx->do_dr1 = 1; - ctx->nonref_dr = 0; -- avctx->get_buffer = get_buffer; -- avctx->release_buffer = release_buffer; -- avctx->reget_buffer = get_buffer; -+ avctx->get_buffer2 = get_buffer2; - mp_msg(MSGT_DECVIDEO, MSGL_V, IMGFMT_IS_XVMC(imgfmt) ? - MSGTR_MPCODECS_XVMCAcceleratedMPEG2 : - "[VD_FFMPEG] VDPAU accelerated decoding\n"); -@@ -384,7 +377,6 @@ - #endif - avctx->flags2|= lavc_param_fast; - avctx->codec_tag= sh->format; -- avctx->stream_codec_tag= sh->video.fccHandler; - avctx->idct_algo= lavc_param_idct_algo; - avctx->error_concealment= lavc_param_error_concealment; - avctx->debug= lavc_param_debug; -@@ -668,7 +660,7 @@ - return 0; - } - --static int get_buffer(AVCodecContext *avctx, AVFrame *pic){ -+static int get_buffer(AVCodecContext *avctx, AVFrame *pic, int isreference){ - sh_video_t *sh = avctx->opaque; - vd_ffmpeg_ctx *ctx = sh->context; - mp_image_t *mpi=NULL; -@@ -677,27 +669,12 @@ - int width = FFMAX(avctx->width, -(-avctx->coded_width >> avctx->lowres)); - int height= FFMAX(avctx->height, -(-avctx->coded_height >> avctx->lowres)); - // special case to handle reget_buffer -- if (pic->opaque && pic->data[0] && (!pic->buffer_hints || pic->buffer_hints & FF_BUFFER_HINTS_REUSABLE)) -+ if (pic->opaque && pic->data[0]) - return 0; - avcodec_align_dimensions(avctx, &width, &height); - //printf("get_buffer %d %d %d\n", pic->reference, ctx->ip_count, ctx->b_count); - -- if (pic->buffer_hints) { -- mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "Buffer hints: %u\n", pic->buffer_hints); -- type = MP_IMGTYPE_TEMP; -- if (pic->buffer_hints & FF_BUFFER_HINTS_READABLE) -- flags |= MP_IMGFLAG_READABLE; -- if (pic->buffer_hints & FF_BUFFER_HINTS_PRESERVE || -- pic->buffer_hints & FF_BUFFER_HINTS_REUSABLE) { -- ctx->ip_count++; -- type = MP_IMGTYPE_IP; -- flags |= MP_IMGFLAG_PRESERVE; -- } -- flags|=(avctx->skip_idct<=AVDISCARD_DEFAULT && avctx->skip_frame<=AVDISCARD_DEFAULT && ctx->do_slices) ? -- MP_IMGFLAG_DRAW_CALLBACK:0; -- mp_msg(MSGT_DECVIDEO, MSGL_DBG2, type == MP_IMGTYPE_IP ? "using IP\n" : "using TEMP\n"); -- } else { -- if(!pic->reference){ -+ if(!isreference){ - ctx->b_count++; - flags|=(avctx->skip_idct<=AVDISCARD_DEFAULT && avctx->skip_frame<=AVDISCARD_DEFAULT && ctx->do_slices) ? - MP_IMGFLAG_DRAW_CALLBACK:0; -@@ -711,11 +688,10 @@ - }else{ - type= MP_IMGTYPE_IP; - } -- } - - if (ctx->nonref_dr) { - if (flags & MP_IMGFLAG_PRESERVE) -- return avcodec_default_get_buffer(avctx, pic); -+ return mpcodec_default_get_buffer(avctx, pic); - // Use NUMBERED since for e.g. TEMP vos assume there will - // be no other frames between the get_image and matching put_image. - type = MP_IMGTYPE_NUMBERED; -@@ -722,7 +698,6 @@ - } - - if(init_vo(sh, avctx->pix_fmt, 1) < 0){ -- avctx->release_buffer= avcodec_default_release_buffer; - goto disable_dr1; - } - -@@ -822,7 +797,6 @@ - else - printf("."); - #endif -- pic->type= FF_BUFFER_TYPE_USER; - return 0; - - disable_dr1: -@@ -829,13 +803,11 @@ - ctx->do_dr1 = 0; - // For frame-multithreading these contexts aren't - // the same and must both be updated. -- ctx->avctx->get_buffer = -- avctx->get_buffer = avcodec_default_get_buffer; -- ctx->avctx->reget_buffer = -- avctx->reget_buffer = avcodec_default_reget_buffer; -+ ctx->avctx->get_buffer2 = -+ avctx->get_buffer2 = avcodec_default_get_buffer2; - if (pic->data[0]) -- release_buffer(avctx, pic); -- return avctx->get_buffer(avctx, pic); -+ mpcodec_default_release_buffer(avctx, pic); -+ return avctx->get_buffer2(avctx, pic,0); - } - - static void release_buffer(struct AVCodecContext *avctx, AVFrame *pic){ -@@ -843,8 +815,8 @@ - sh_video_t *sh = avctx->opaque; - vd_ffmpeg_ctx *ctx = sh->context; - int i; -- if (pic->type != FF_BUFFER_TYPE_USER) { -- avcodec_default_release_buffer(avctx, pic); -+ if (pic->opaque == NULL) { -+ mpcodec_default_release_buffer(avctx, pic); - return; - } - -@@ -954,7 +926,7 @@ - // even when we do dr we might actually get a buffer we had - // FFmpeg allocate - this mostly happens with nonref_dr. - // Ensure we treat it correctly. -- dr1= ctx->do_dr1 && pic->type == FF_BUFFER_TYPE_USER; -+ dr1= ctx->do_dr1 && pic->opaque != NULL; - if(ret<0) mp_msg(MSGT_DECVIDEO, MSGL_WARN, "Error while decoding frame!\n"); - //printf("repeat: %d\n", pic->repeat_pict); - //-- vstats generation -@@ -1128,3 +1100,148 @@ - set_format_params(avctx, selected_format); - return selected_format; - } -+ -+ -+/* -+ FFWrapper -+*/ -+static int mpcodec_default_get_buffer(AVCodecContext *avctx, AVFrame *frame) -+{ -+ return avcodec_default_get_buffer2(avctx, frame, 0); -+} -+ -+static void mpcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic) -+{ -+ av_frame_unref(pic); -+} -+ -+typedef struct CompatReleaseBufPriv { -+ AVCodecContext avctx; -+ AVFrame frame; -+ uint8_t avframe_padding[1024]; // hack to allow linking to a avutil with larger AVFrame -+} CompatReleaseBufPriv; -+ -+static void compat_free_buffer(void *opaque, uint8_t *data) -+{ -+ CompatReleaseBufPriv *priv = opaque; -+ release_buffer(&priv->avctx, &priv->frame); -+ av_freep(&priv); -+} -+ -+static void compat_release_buffer(void *opaque, uint8_t *data) -+{ -+ AVBufferRef *buf = opaque; -+ av_buffer_unref(&buf); -+} -+ -+static int get_buffer2(AVCodecContext *avctx, AVFrame *frame, int flags) -+{ -+ /* -+ * Wrap an old get_buffer()-allocated buffer in a bunch of AVBuffers. -+ * We wrap each plane in its own AVBuffer. Each of those has a reference to -+ * a dummy AVBuffer as its private data, unreffing it on free. -+ * When all the planes are freed, the dummy buffer's free callback calls -+ * release_buffer(). -+ */ -+ CompatReleaseBufPriv *priv = NULL; -+ AVBufferRef *dummy_buf = NULL; -+ int planes, i, ret; -+ -+ ret = get_buffer(avctx, frame, flags & AV_GET_BUFFER_FLAG_REF); -+ if (ret < 0) -+ return ret; -+ -+ /* return if the buffers are already set up -+ * this would happen e.g. when a custom get_buffer() calls -+ * avcodec_default_get_buffer -+ */ -+ if (frame->buf[0]) -+ goto end0; -+ -+ priv = av_mallocz(sizeof(*priv)); -+ if (!priv) { -+ ret = AVERROR(ENOMEM); -+ goto fail; -+ } -+ priv->avctx = *avctx; -+ priv->frame = *frame; -+ -+ dummy_buf = av_buffer_create(NULL, 0, compat_free_buffer, priv, 0); -+ if (!dummy_buf) { -+ ret = AVERROR(ENOMEM); -+ goto fail; -+ } -+ -+#define WRAP_PLANE(ref_out, data, data_size) \ -+do { \ -+ AVBufferRef *dummy_ref = av_buffer_ref(dummy_buf); \ -+ if (!dummy_ref) { \ -+ ret = AVERROR(ENOMEM); \ -+ goto fail; \ -+ } \ -+ ref_out = av_buffer_create(data, data_size, compat_release_buffer, \ -+ dummy_ref, 0); \ -+ if (!ref_out) { \ -+ av_buffer_unref(&dummy_ref); \ -+ av_frame_unref(frame); \ -+ ret = AVERROR(ENOMEM); \ -+ goto fail; \ -+ } \ -+} while (0) -+ -+ if (avctx->codec_type == AVMEDIA_TYPE_VIDEO) { -+ const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(frame->format); -+ -+ planes = av_pix_fmt_count_planes(frame->format); -+ /* workaround for AVHWAccel plane count of 0, buf[0] is used as -+ check for allocated buffers: make libavcodec happy */ -+ if (desc && desc->flags & AV_PIX_FMT_FLAG_HWACCEL) -+ planes = 1; -+ if (!desc || planes <= 0) { -+ ret = AVERROR(EINVAL); -+ goto fail; -+ } -+ -+ for (i = 0; i < planes; i++) { -+ int v_shift = (i == 1 || i == 2) ? desc->log2_chroma_h : 0; -+ int plane_size = (frame->height >> v_shift) * frame->linesize[i]; -+ -+ WRAP_PLANE(frame->buf[i], frame->data[i], plane_size); -+ } -+ } else { -+ int planar = av_sample_fmt_is_planar(frame->format); -+ planes = planar ? avctx->channels : 1; -+ -+ if (planes > FF_ARRAY_ELEMS(frame->buf)) { -+ frame->nb_extended_buf = planes - FF_ARRAY_ELEMS(frame->buf); -+ frame->extended_buf = av_malloc_array(sizeof(*frame->extended_buf), -+ frame->nb_extended_buf); -+ if (!frame->extended_buf) { -+ ret = AVERROR(ENOMEM); -+ goto fail; -+ } -+ } -+ -+ for (i = 0; i < FFMIN(planes, FF_ARRAY_ELEMS(frame->buf)); i++) -+ WRAP_PLANE(frame->buf[i], frame->extended_data[i], frame->linesize[0]); -+ -+ for (i = 0; i < frame->nb_extended_buf; i++) -+ WRAP_PLANE(frame->extended_buf[i], -+ frame->extended_data[i + FF_ARRAY_ELEMS(frame->buf)], -+ frame->linesize[0]); -+ } -+ -+ av_buffer_unref(&dummy_buf); -+ -+end0: -+ frame->width = avctx->width; -+ frame->height = avctx->height; -+ -+ return 0; -+ -+fail: -+ release_buffer(avctx, frame); -+ av_freep(&priv); -+ av_buffer_unref(&dummy_buf); -+ return ret; -+} diff --git a/media-video/mplayer/files/mplayer-1.2_pre20150730-chan.patch b/media-video/mplayer/files/mplayer-1.2_pre20150730-chan.patch deleted file mode 100644 index a448d0849458..000000000000 --- a/media-video/mplayer/files/mplayer-1.2_pre20150730-chan.patch +++ /dev/null @@ -1,25 +0,0 @@ -r37447 | rtogni | 2015-08-14 21:30:34 +0200 (Fri, 14 Aug 2015) | 3 lines - -Replace deprecated avctx->request_channels with request_channel_layout - -Index: libmpcodecs/ad_ffmpeg.c -=================================================================== ---- libmpcodecs/ad_ffmpeg.c (revision 37446) -+++ libmpcodecs/ad_ffmpeg.c (revision 37447) -@@ -46,6 +46,7 @@ - - #include "libavcodec/avcodec.h" - #include "libavutil/dict.h" -+#include "libavutil/channel_layout.h" - - struct adctx { - int last_samplerate; -@@ -127,7 +128,7 @@ - lavc_context->bits_per_coded_sample = sh_audio->wf->wBitsPerSample; - } - lavc_context->channel_layout = sh_audio->channel_layout; -- lavc_context->request_channels = audio_output_channels; -+ lavc_context->request_channel_layout = av_get_default_channel_layout(audio_output_channels); - lavc_context->codec_tag = sh_audio->format; //FOURCC - lavc_context->codec_id = lavc_codec->id; // not sure if required, imho not --A'rpi - diff --git a/media-video/mplayer/files/mplayer-1.2_pre20150730-encode.patch b/media-video/mplayer/files/mplayer-1.2_pre20150730-encode.patch deleted file mode 100644 index 06a33f832f07..000000000000 --- a/media-video/mplayer/files/mplayer-1.2_pre20150730-encode.patch +++ /dev/null @@ -1,82 +0,0 @@ -r37453 | rtogni | 2015-08-23 22:32:50 +0200 (Sun, 23 Aug 2015) | 3 lines - -Replace deprecated av_encode_video() with av_encode_video2() - -Index: libmpcodecs/vf_uspp.c -=================================================================== ---- libmpcodecs/vf_uspp.c (revision 37452) -+++ libmpcodecs/vf_uspp.c (revision 37453) -@@ -177,11 +177,16 @@ - const int x1= offset[i+count-1][0]; - const int y1= offset[i+count-1][1]; - int offset; -+ AVPacket pkt; -+ int ret, got_pkt; - p->frame->data[0]= p->src[0] + x1 + y1 * p->frame->linesize[0]; - p->frame->data[1]= p->src[1] + x1/2 + y1/2 * p->frame->linesize[1]; - p->frame->data[2]= p->src[2] + x1/2 + y1/2 * p->frame->linesize[2]; - -- avcodec_encode_video(p->avctx_enc[i], p->outbuf, p->outbuf_size, p->frame); -+ av_init_packet(&pkt); -+ pkt.data = p->outbuf; -+ pkt.size = p->outbuf_size; -+ avcodec_encode_video2(p->avctx_enc[i], &pkt, p->frame, &got_pkt); - p->frame_dec = p->avctx_enc[i]->coded_frame; - - offset= (BLOCK-x1) + (BLOCK-y1)*p->frame_dec->linesize[0]; -Index: libmpcodecs/vf_lavc.c -=================================================================== ---- libmpcodecs/vf_lavc.c (revision 37452) -+++ libmpcodecs/vf_lavc.c (revision 37453) -@@ -86,6 +86,8 @@ - mp_image_t* dmpi; - int out_size; - AVFrame *pic= vf->priv->pic; -+ int ret, got_pkt; -+ AVPacket pkt; - - pic->data[0]=mpi->planes[0]; - pic->data[1]=mpi->planes[1]; -@@ -94,10 +96,14 @@ - pic->linesize[1]=mpi->stride[1]; - pic->linesize[2]=mpi->stride[2]; - -- out_size = avcodec_encode_video(&lavc_venc_context, -- vf->priv->outbuf, vf->priv->outbuf_size, pic); -+ av_init_packet(&pkt); -+ pkt.data = vf->priv->outbuf; -+ pkt.size = vf->priv->outbuf_size; -+ ret = avcodec_encode_video2(&lavc_venc_context, &pkt, pic, &got_pkt); - -- if(out_size<=0) return 1; -+ if(ret<=0) return 1; -+ if(!got_pkt) return 1; -+ out_size = pkt.size; - - dmpi=vf_get_image(vf->next,IMGFMT_MPEGPES, - MP_IMGTYPE_EXPORT, 0, -Index: libmpcodecs/vf_mcdeint.c -=================================================================== ---- libmpcodecs/vf_mcdeint.c (revision 37452) -+++ libmpcodecs/vf_mcdeint.c (revision 37453) -@@ -92,6 +92,8 @@ - - static void filter(struct vf_priv_s *p, uint8_t *dst[3], uint8_t *src[3], int dst_stride[3], int src_stride[3], int width, int height){ - int x, y, i; -+ int got_pkt; -+ AVPacket pkt; - - for(i=0; i<3; i++){ - p->frame->data[i]= src[i]; -@@ -101,7 +103,10 @@ - p->avctx_enc->me_cmp= - p->avctx_enc->me_sub_cmp= FF_CMP_SAD /*| (p->parity ? FF_CMP_ODD : FF_CMP_EVEN)*/; - p->frame->quality= p->qp*FF_QP2LAMBDA; -- avcodec_encode_video(p->avctx_enc, p->outbuf, p->outbuf_size, p->frame); -+ av_init_packet(&pkt); -+ pkt.data = p->outbuf; -+ pkt.size = p->outbuf_size; -+ avcodec_encode_video2(p->avctx_enc, &pkt, p->frame, &got_pkt); - p->frame_dec = p->avctx_enc->coded_frame; - - for(i=0; i<3; i++){ -- cgit v1.2.3