diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2021-10-15 12:05:32 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2021-10-15 12:09:11 +0200 |
commit | ae74e78909ae0bc476112fb43b9580e969879dcd (patch) | |
tree | 49144c84e18719a7ca54a243effc319ea128ab70 /thirdparty/libvpx/vpx_scale/yv12config.h | |
parent | e2bfb27efb858c4a1314d314386531cbcdfcf335 (diff) |
Remove WebM support (and deps libvpx and opus)
We've had many issues with WebM support and specifically the libvpx library
over the years, mostly due to its poor integration in Godot's buildsystem,
but without anyone really interested in improving this state.
With the new GDExtensions in Godot 4.0, we intend to move video decoding to
first-party extensions, and this would likely be done using something like
libvlc to expose more codecs.
Removing the `webm` module means we can remove libsimplewebm, libvpx and
opus, which we were only used for that purpose. Both libvpx and opus were
fairly complex pieces of the buildsystem, so this is a nice cleanup.
This also removes the compile-time dependency on `yasm`.
Fixes lots of compilation or non-working WebM issues which will be linked
in the PR.
Diffstat (limited to 'thirdparty/libvpx/vpx_scale/yv12config.h')
-rw-r--r-- | thirdparty/libvpx/vpx_scale/yv12config.h | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/thirdparty/libvpx/vpx_scale/yv12config.h b/thirdparty/libvpx/vpx_scale/yv12config.h deleted file mode 100644 index 37b255d4d3..0000000000 --- a/thirdparty/libvpx/vpx_scale/yv12config.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (c) 2010 The WebM project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#ifndef VPX_SCALE_YV12CONFIG_H_ -#define VPX_SCALE_YV12CONFIG_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "./vpx_config.h" -#include "vpx/vpx_codec.h" -#include "vpx/vpx_frame_buffer.h" -#include "vpx/vpx_integer.h" - -#define VP8BORDERINPIXELS 32 -#define VP9INNERBORDERINPIXELS 96 -#define VP9_INTERP_EXTEND 4 -#define VP9_ENC_BORDER_IN_PIXELS 160 -#define VP9_DEC_BORDER_IN_PIXELS 32 - -typedef struct yv12_buffer_config { - int y_width; - int y_height; - int y_crop_width; - int y_crop_height; - int y_stride; - - int uv_width; - int uv_height; - int uv_crop_width; - int uv_crop_height; - int uv_stride; - - int alpha_width; - int alpha_height; - int alpha_stride; - - uint8_t *y_buffer; - uint8_t *u_buffer; - uint8_t *v_buffer; - uint8_t *alpha_buffer; - - uint8_t *buffer_alloc; - int buffer_alloc_sz; - int border; - int frame_size; - int subsampling_x; - int subsampling_y; - unsigned int bit_depth; - vpx_color_space_t color_space; - vpx_color_range_t color_range; - int render_width; - int render_height; - - int corrupted; - int flags; -} YV12_BUFFER_CONFIG; - -#define YV12_FLAG_HIGHBITDEPTH 8 - -int vp8_yv12_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, - int width, int height, int border); -int vp8_yv12_realloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, - int width, int height, int border); -int vp8_yv12_de_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf); - -int vpx_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, - int width, int height, int ss_x, int ss_y, -#if CONFIG_VP9_HIGHBITDEPTH - int use_highbitdepth, -#endif - int border, int byte_alignment); - -// Updates the yv12 buffer config with the frame buffer. |byte_alignment| must -// be a power of 2, from 32 to 1024. 0 sets legacy alignment. If cb is not -// NULL, then libvpx is using the frame buffer callbacks to handle memory. -// If cb is not NULL, libvpx will call cb with minimum size in bytes needed -// to decode the current frame. If cb is NULL, libvpx will allocate memory -// internally to decode the current frame. Returns 0 on success. Returns < 0 -// on failure. -int vpx_realloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, - int width, int height, int ss_x, int ss_y, -#if CONFIG_VP9_HIGHBITDEPTH - int use_highbitdepth, -#endif - int border, - int byte_alignment, - vpx_codec_frame_buffer_t *fb, - vpx_get_frame_buffer_cb_fn_t cb, - void *cb_priv); -int vpx_free_frame_buffer(YV12_BUFFER_CONFIG *ybf); - -#ifdef __cplusplus -} -#endif - -#endif // VPX_SCALE_YV12CONFIG_H_ |