tor-browser

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

bsf_internal.h (1926B)


      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 AVCODEC_BSF_INTERNAL_H
     20 #define AVCODEC_BSF_INTERNAL_H
     21 
     22 #include "libavutil/log.h"
     23 
     24 #include "bsf.h"
     25 #include "packet.h"
     26 
     27 typedef struct FFBitStreamFilter {
     28    /**
     29     * The public AVBitStreamFilter. See bsf.h for it.
     30     */
     31    AVBitStreamFilter p;
     32 
     33    int priv_data_size;
     34    int (*init)(AVBSFContext *ctx);
     35    int (*filter)(AVBSFContext *ctx, AVPacket *pkt);
     36    void (*close)(AVBSFContext *ctx);
     37    void (*flush)(AVBSFContext *ctx);
     38 } FFBitStreamFilter;
     39 
     40 /**
     41 * Called by the bitstream filters to get the next packet for filtering.
     42 * The filter is responsible for either freeing the packet or passing it to the
     43 * caller.
     44 */
     45 int ff_bsf_get_packet(AVBSFContext *ctx, AVPacket **pkt);
     46 
     47 /**
     48 * Called by bitstream filters to get packet for filtering.
     49 * The reference to packet is moved to provided packet structure.
     50 *
     51 * @param ctx pointer to AVBSFContext of filter
     52 * @param pkt pointer to packet to move reference to
     53 *
     54 * @return 0 on success, negative AVERROR in case of failure
     55 */
     56 int ff_bsf_get_packet_ref(AVBSFContext *ctx, AVPacket *pkt);
     57 
     58 const AVClass *ff_bsf_child_class_iterate(void **opaque);
     59 
     60 #endif /* AVCODEC_BSF_INTERNAL_H */