12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /*
- * Copyright (c) 2016, Alliance for Open Media. All rights reserved
- *
- * This source code is subject to the terms of the BSD 2 Clause License and
- * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
- * was not distributed with this source code in the LICENSE file, you can
- * obtain it at www.aomedia.org/license/software. If the Alliance for Open
- * Media Patent License 1.0 was not distributed with this source code in the
- * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
- */
- #ifndef AOM_COMMON_VIDEO_READER_H_
- #define AOM_COMMON_VIDEO_READER_H_
- #include "common/video_common.h"
- // The following code is work in progress. It is going to support transparent
- // reading of input files. Right now only IVF format is supported for
- // simplicity. The main goal the API is to be simple and easy to use in example
- // code and in aomenc/aomdec later. All low-level details like memory
- // buffer management are hidden from API users.
- struct AvxVideoReaderStruct;
- typedef struct AvxVideoReaderStruct AvxVideoReader;
- #ifdef __cplusplus
- extern "C" {
- #endif
- // Opens the input file for reading and inspects it to determine file type.
- // Returns an opaque AvxVideoReader* upon success, or NULL upon failure.
- // Right now only IVF format is supported.
- AvxVideoReader *aom_video_reader_open(const char *filename);
- // Frees all resources associated with AvxVideoReader* returned from
- // aom_video_reader_open() call.
- void aom_video_reader_close(AvxVideoReader *reader);
- // Reads frame from the file and stores it in internal buffer.
- int aom_video_reader_read_frame(AvxVideoReader *reader);
- // Returns the pointer to memory buffer with frame data read by last call to
- // aom_video_reader_read_frame().
- const uint8_t *aom_video_reader_get_frame(AvxVideoReader *reader, size_t *size);
- // Returns the pts of the frame.
- int64_t aom_video_reader_get_frame_pts(AvxVideoReader *reader);
- // Return the reader file.
- FILE *aom_video_reader_get_file(AvxVideoReader *reader);
- // Fills AvxVideoInfo with information from opened video file.
- const AvxVideoInfo *aom_video_reader_get_info(AvxVideoReader *reader);
- // Set fourcc.
- void aom_video_reader_set_fourcc(AvxVideoReader *reader, uint32_t fourcc);
- #ifdef __cplusplus
- } // extern "C"
- #endif
- #endif // AOM_COMMON_VIDEO_READER_H_
|