summaryrefslogtreecommitdiffstats
path: root/third_party/aom/common/video_reader.c
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/aom/common/video_reader.c')
-rw-r--r--third_party/aom/common/video_reader.c123
1 files changed, 0 insertions, 123 deletions
diff --git a/third_party/aom/common/video_reader.c b/third_party/aom/common/video_reader.c
deleted file mode 100644
index 47ad6e189..000000000
--- a/third_party/aom/common/video_reader.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * 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.
- */
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include "aom_ports/mem_ops.h"
-#include "common/ivfdec.h"
-#include "common/obudec.h"
-#include "common/tools_common.h"
-#include "common/video_reader.h"
-#include "common/webmdec.h"
-
-struct AvxVideoReaderStruct {
- AvxVideoInfo info;
- struct AvxInputContext input_ctx;
- struct ObuDecInputContext obu_ctx;
- struct WebmInputContext webm_ctx;
- uint8_t *buffer;
- size_t buffer_size;
- size_t frame_size;
- aom_codec_pts_t pts;
-};
-
-AvxVideoReader *aom_video_reader_open(const char *filename) {
- AvxVideoReader *reader = NULL;
- FILE *const file = fopen(filename, "rb");
- if (!file) return NULL; // Can't open file
-
- reader = (AvxVideoReader *)calloc(1, sizeof(*reader));
- if (!reader) {
- fclose(file);
- return NULL; // Can't allocate AvxVideoReader
- }
-
- reader->input_ctx.filename = filename;
- reader->input_ctx.file = file;
- reader->obu_ctx.avx_ctx = &reader->input_ctx;
- reader->obu_ctx.is_annexb = 1;
-
- if (file_is_ivf(&reader->input_ctx)) {
- reader->input_ctx.file_type = FILE_TYPE_IVF;
- reader->info.codec_fourcc = reader->input_ctx.fourcc;
- reader->info.frame_width = reader->input_ctx.width;
- reader->info.frame_height = reader->input_ctx.height;
-#if CONFIG_WEBM_IO
- } else if (file_is_webm(&reader->webm_ctx, &reader->input_ctx)) {
- reader->input_ctx.file_type = FILE_TYPE_WEBM;
- reader->info.codec_fourcc = reader->input_ctx.fourcc;
- reader->info.frame_width = reader->input_ctx.width;
- reader->info.frame_height = reader->input_ctx.height;
-#endif
- } else if (file_is_obu(&reader->obu_ctx)) {
- reader->input_ctx.file_type = FILE_TYPE_OBU;
- // assume AV1
- reader->info.codec_fourcc = AV1_FOURCC;
- reader->info.is_annexb = reader->obu_ctx.is_annexb;
- } else {
- fclose(file);
- free(reader);
- return NULL; // Unknown file type
- }
-
- return reader;
-}
-
-void aom_video_reader_close(AvxVideoReader *reader) {
- if (reader) {
- fclose(reader->input_ctx.file);
- if (reader->input_ctx.file_type == FILE_TYPE_OBU) {
- obudec_free(&reader->obu_ctx);
- }
- free(reader->buffer);
- free(reader);
- }
-}
-
-int aom_video_reader_read_frame(AvxVideoReader *reader) {
- if (reader->input_ctx.file_type == FILE_TYPE_IVF) {
- return !ivf_read_frame(reader->input_ctx.file, &reader->buffer,
- &reader->frame_size, &reader->buffer_size,
- &reader->pts);
- } else if (reader->input_ctx.file_type == FILE_TYPE_OBU) {
- return !obudec_read_temporal_unit(&reader->obu_ctx, &reader->buffer,
- &reader->frame_size,
- &reader->buffer_size);
-#if CONFIG_WEBM_IO
- } else if (reader->input_ctx.file_type == FILE_TYPE_WEBM) {
- return !webm_read_frame(&reader->webm_ctx, &reader->buffer,
- &reader->frame_size, &reader->buffer_size);
-#endif
- } else {
- assert(0);
- return 0;
- }
-}
-
-const uint8_t *aom_video_reader_get_frame(AvxVideoReader *reader,
- size_t *size) {
- if (size) *size = reader->frame_size;
-
- return reader->buffer;
-}
-
-int64_t aom_video_reader_get_frame_pts(AvxVideoReader *reader) {
- return (int64_t)reader->pts;
-}
-
-FILE *aom_video_reader_get_file(AvxVideoReader *reader) {
- return reader->input_ctx.file;
-}
-
-const AvxVideoInfo *aom_video_reader_get_info(AvxVideoReader *reader) {
- return &reader->info;
-}