tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

hwcontext_mediacodec.h (1988B)


      1 /*
      2 * This file is part of FFmpeg.
      3 *
      4 * FFmpeg is free software; you can redistribute it and/or
      5 * modify it under the terms of the GNU Lesser General Public
      6 * License as published by the Free Software Foundation; either
      7 * version 2.1 of the License, or (at your option) any later version.
      8 *
      9 * FFmpeg is distributed in the hope that it will be useful,
     10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     12 * Lesser General Public License for more details.
     13 *
     14 * You should have received a copy of the GNU Lesser General Public
     15 * License along with FFmpeg; if not, write to the Free Software
     16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
     17 */
     18 
     19 #ifndef AVUTIL_HWCONTEXT_MEDIACODEC_H
     20 #define AVUTIL_HWCONTEXT_MEDIACODEC_H
     21 
     22 /**
     23 * MediaCodec details.
     24 *
     25 * Allocated as AVHWDeviceContext.hwctx
     26 */
     27 typedef struct AVMediaCodecDeviceContext {
     28    /**
     29     * android/view/Surface handle, to be filled by the user.
     30     *
     31     * This is the default surface used by decoders on this device.
     32     */
     33    void *surface;
     34 
     35    /**
     36     * Pointer to ANativeWindow.
     37     *
     38     * It both surface and native_window is NULL, try to create it
     39     * automatically if create_window is true and OS support
     40     * createPersistentInputSurface.
     41     *
     42     * It can be used as output surface for decoder and input surface for
     43     * encoder.
     44     */
     45    void *native_window;
     46 
     47    /**
     48     * Enable createPersistentInputSurface automatically.
     49     *
     50     * Disabled by default.
     51     *
     52     * It can be enabled by setting this flag directly, or by setting
     53     * AVDictionary of av_hwdevice_ctx_create(), with "create_window" as key.
     54     * The second method is useful for ffmpeg cmdline, e.g., we can enable it
     55     * via:
     56     *   -init_hw_device mediacodec=mediacodec,create_window=1
     57     */
     58    int create_window;
     59 } AVMediaCodecDeviceContext;
     60 
     61 #endif /* AVUTIL_HWCONTEXT_MEDIACODEC_H */