Removing VpxInputContext dependency from {ivf, raw}_read_frame().
authorDmitry Kovalev <dkovalev@google.com>
Mon, 13 Jan 2014 19:57:55 +0000 (11:57 -0800)
committerDmitry Kovalev <dkovalev@google.com>
Mon, 13 Jan 2014 19:57:55 +0000 (11:57 -0800)
File type check inside ivf_read_frame() is not necessary (it is done
before this function get called).

Change-Id: Iede8feb358d25878b340473d85c3b01d701fc624

ivfdec.c
ivfdec.h
vpxdec.c

index a37a44c..65415cc 100644 (file)
--- a/ivfdec.c
+++ b/ivfdec.c
@@ -65,16 +65,10 @@ int file_is_ivf(struct VpxInputContext *input_ctx) {
   return is_ivf;
 }
 
-int ivf_read_frame(struct VpxInputContext *input_ctx,
-                   uint8_t **buffer,
-                   size_t *bytes_read,
-                   size_t *buffer_size) {
+int ivf_read_frame(FILE *infile, uint8_t **buffer,
+                   size_t *bytes_read, size_t *buffer_size) {
   char raw_header[IVF_FRAME_HDR_SZ] = {0};
   size_t frame_size = 0;
-  FILE *infile = input_ctx->file;
-
-  if (input_ctx->file_type != FILE_TYPE_IVF)
-    return 0;
 
   if (fread(raw_header, IVF_FRAME_HDR_SZ, 1, infile) != 1) {
     if (!feof(infile))
index 5da9acc..dd29cc6 100644 (file)
--- a/ivfdec.h
+++ b/ivfdec.h
@@ -18,10 +18,8 @@ extern "C" {
 
 int file_is_ivf(struct VpxInputContext *input);
 
-int ivf_read_frame(struct VpxInputContext *input,
-                   uint8_t **buffer,
-                   size_t *bytes_read,
-                   size_t *buffer_size);
+int ivf_read_frame(FILE *infile, uint8_t **buffer,
+                   size_t *bytes_read, size_t *buffer_size);
 
 #ifdef __cplusplus
 }  /* extern "C" */
index 6ea2179..3455dae 100644 (file)
--- a/vpxdec.c
+++ b/vpxdec.c
@@ -167,11 +167,10 @@ void usage_exit() {
   exit(EXIT_FAILURE);
 }
 
-static int raw_read_frame(struct VpxInputContext *input_ctx, uint8_t **buffer,
+static int raw_read_frame(FILE *infile, uint8_t **buffer,
                           size_t *bytes_read, size_t *buffer_size) {
   char raw_hdr[RAW_FRAME_HDR_SZ];
   size_t frame_size = 0;
-  FILE *infile = input_ctx->file;
 
   if (fread(raw_hdr, RAW_FRAME_HDR_SZ, 1, infile) != 1) {
     if (!feof(infile))
@@ -221,10 +220,10 @@ static int read_frame(struct VpxDecInputContext *input, uint8_t **buf,
       return webm_read_frame(input->webm_ctx,
                              buf, bytes_in_buffer, buffer_size);
     case FILE_TYPE_RAW:
-      return raw_read_frame(input->vpx_input_ctx,
+      return raw_read_frame(input->vpx_input_ctx->file,
                             buf, bytes_in_buffer, buffer_size);
     case FILE_TYPE_IVF:
-      return ivf_read_frame(input->vpx_input_ctx,
+      return ivf_read_frame(input->vpx_input_ctx->file,
                             buf, bytes_in_buffer, buffer_size);
     default:
       return 1;