tor-browser

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

atsc_a53.h (2344B)


      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_ATSC_A53_H
     20 #define AVCODEC_ATSC_A53_H
     21 
     22 #include <stddef.h>
     23 #include <stdint.h>
     24 
     25 #include "libavutil/buffer.h"
     26 #include "libavutil/frame.h"
     27 
     28 /**
     29 * Check AVFrame for A53 side data and allocate and fill SEI message with A53 info
     30 *
     31 * @param frame      Raw frame to get A53 side data from
     32 * @param prefix_len Number of bytes to allocate before SEI message
     33 * @param data       Pointer to a variable to store allocated memory
     34 *                   Upon return the variable will hold NULL on error or if frame has no A53 info.
     35 *                   Otherwise it will point to prefix_len uninitialized bytes followed by
     36 *                   *sei_size SEI message
     37 * @param sei_size   Pointer to a variable to store generated SEI message length
     38 * @return           Zero on success, negative error code on failure
     39 */
     40 int ff_alloc_a53_sei(const AVFrame *frame, size_t prefix_len,
     41                     void **data, size_t *sei_size);
     42 
     43 /**
     44 * Parse a data array for ATSC A53 Part 4 Closed Captions and store them in an AVBufferRef.
     45 *
     46 * @param pbuf Pointer to an AVBufferRef to append the closed captions. *pbuf may be NULL, in
     47 *             which case a new buffer will be allocated and put in it.
     48 * @param data The data array containing the raw A53 data.
     49 * @param size Size of the data array in bytes.
     50 *
     51 * @return Number of closed captions parsed on success, negative error code on failure.
     52 *         If no Closed Captions are parsed, *pbuf is untouched.
     53 */
     54 int ff_parse_a53_cc(AVBufferRef **pbuf, const uint8_t *data, int size);
     55 
     56 #endif /* AVCODEC_ATSC_A53_H */