diff options
author | wm4 <wm4@nowhere> | 2016-04-25 11:28:49 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-04-25 11:28:49 +0200 |
commit | 021cb2c3870b9d0b2f2e03416702fc561f160c2b (patch) | |
tree | 659ac3ff21f104e722539651b6900717e570f5a3 /video | |
parent | e232f1a731a9089a13d88def6c1f2c1a069a6353 (diff) | |
download | mpv-021cb2c3870b9d0b2f2e03416702fc561f160c2b.tar.bz2 mpv-021cb2c3870b9d0b2f2e03416702fc561f160c2b.tar.xz |
mp_image: allow passing NULL to mp_image_new_custom_ref()
A minor simplification. Most callers don't need this, and there's no
good reason why the caller should provide an "initializer" like this.
(This function calls mp_image_new_dummy_ref(), which has no reason
for an initializer either.)
Diffstat (limited to 'video')
-rw-r--r-- | video/d3d11va.c | 4 | ||||
-rw-r--r-- | video/dxva2.c | 4 | ||||
-rw-r--r-- | video/mp_image.c | 2 | ||||
-rw-r--r-- | video/out/vo_rpi.c | 3 | ||||
-rw-r--r-- | video/vdpau.c | 3 |
5 files changed, 7 insertions, 9 deletions
diff --git a/video/d3d11va.c b/video/d3d11va.c index a9be571e9c..e27d7952cd 100644 --- a/video/d3d11va.c +++ b/video/d3d11va.c @@ -69,8 +69,8 @@ struct mp_image *d3d11va_new_ref(ID3D11VideoDecoderOutputView *view, ID3D11VideoDecoderOutputView_GetResource( surface->surface, (ID3D11Resource **)&surface->texture); - struct mp_image *mpi = mp_image_new_custom_ref( - &(struct mp_image){0}, surface, d3d11va_release_img); + struct mp_image *mpi = + mp_image_new_custom_ref(NULL, surface, d3d11va_release_img); if (!mpi) abort(); diff --git a/video/dxva2.c b/video/dxva2.c index d6635ce0c6..cad3c54f72 100644 --- a/video/dxva2.c +++ b/video/dxva2.c @@ -72,8 +72,8 @@ struct mp_image *dxva2_new_ref(IDirectXVideoDecoder *decoder, surface->decoder = decoder; IDirectXVideoDecoder_AddRef(surface->decoder); - struct mp_image *mpi = mp_image_new_custom_ref(&(struct mp_image){0}, - surface, dxva2_release_img); + struct mp_image *mpi = + mp_image_new_custom_ref(NULL, surface, dxva2_release_img); if (!mpi) abort(); diff --git a/video/mp_image.c b/video/mp_image.c index 0ca59c62c9..5adce213e5 100644 --- a/video/mp_image.c +++ b/video/mp_image.c @@ -230,7 +230,7 @@ struct mp_image *mp_image_new_dummy_ref(struct mp_image *img) { struct mp_image *new = talloc_ptrtype(NULL, new); talloc_set_destructor(new, mp_image_destructor); - *new = *img; + *new = img ? *img : (struct mp_image){0}; for (int p = 0; p < MP_MAX_PLANES; p++) new->bufs[p] = NULL; new->hwctx = NULL; diff --git a/video/out/vo_rpi.c b/video/out/vo_rpi.c index 9d782fc9c5..7ba3e8ba68 100644 --- a/video/out/vo_rpi.c +++ b/video/out/vo_rpi.c @@ -435,8 +435,7 @@ static void draw_frame(struct vo *vo, struct vo_frame *frame) } mmal_buffer_header_reset(buffer); - struct mp_image *new_ref = mp_image_new_custom_ref(&(struct mp_image){0}, - buffer, + struct mp_image *new_ref = mp_image_new_custom_ref(NULL, buffer, free_mmal_buffer); if (!new_ref) { mmal_buffer_header_release(buffer); diff --git a/video/vdpau.c b/video/vdpau.c index 9dfbc2bc6e..6398fa6e58 100644 --- a/video/vdpau.c +++ b/video/vdpau.c @@ -268,8 +268,7 @@ static struct mp_image *create_ref(struct mp_vdpau_ctx *ctx, int index) struct surface_ref *ref = talloc_ptrtype(NULL, ref); *ref = (struct surface_ref){ctx, index}; struct mp_image *res = - mp_image_new_custom_ref(&(struct mp_image){0}, ref, - release_decoder_surface); + mp_image_new_custom_ref(NULL, ref, release_decoder_surface); if (res) { mp_image_setfmt(res, e->rgb ? IMGFMT_VDPAU_OUTPUT : IMGFMT_VDPAU); mp_image_set_size(res, e->w, e->h); |