Commit 2123c5d6 authored by Dmitry Kovalev's avatar Dmitry Kovalev Committed by Gerrit Code Review

Merge "Removing VpxInputContext dependency from {ivf, raw}_read_frame()."

parents 8b5133fc 0eac753d
...@@ -65,16 +65,10 @@ int file_is_ivf(struct VpxInputContext *input_ctx) { ...@@ -65,16 +65,10 @@ int file_is_ivf(struct VpxInputContext *input_ctx) {
return is_ivf; return is_ivf;
} }
int ivf_read_frame(struct VpxInputContext *input_ctx, int ivf_read_frame(FILE *infile, uint8_t **buffer,
uint8_t **buffer, size_t *bytes_read, size_t *buffer_size) {
size_t *bytes_read,
size_t *buffer_size) {
char raw_header[IVF_FRAME_HDR_SZ] = {0}; char raw_header[IVF_FRAME_HDR_SZ] = {0};
size_t frame_size = 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 (fread(raw_header, IVF_FRAME_HDR_SZ, 1, infile) != 1) {
if (!feof(infile)) if (!feof(infile))
......
...@@ -18,10 +18,8 @@ extern "C" { ...@@ -18,10 +18,8 @@ extern "C" {
int file_is_ivf(struct VpxInputContext *input); int file_is_ivf(struct VpxInputContext *input);
int ivf_read_frame(struct VpxInputContext *input, int ivf_read_frame(FILE *infile, uint8_t **buffer,
uint8_t **buffer, size_t *bytes_read, size_t *buffer_size);
size_t *bytes_read,
size_t *buffer_size);
#ifdef __cplusplus #ifdef __cplusplus
} /* extern "C" */ } /* extern "C" */
......
...@@ -167,11 +167,10 @@ void usage_exit() { ...@@ -167,11 +167,10 @@ void usage_exit() {
exit(EXIT_FAILURE); 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) { size_t *bytes_read, size_t *buffer_size) {
char raw_hdr[RAW_FRAME_HDR_SZ]; char raw_hdr[RAW_FRAME_HDR_SZ];
size_t frame_size = 0; size_t frame_size = 0;
FILE *infile = input_ctx->file;
if (fread(raw_hdr, RAW_FRAME_HDR_SZ, 1, infile) != 1) { if (fread(raw_hdr, RAW_FRAME_HDR_SZ, 1, infile) != 1) {
if (!feof(infile)) if (!feof(infile))
...@@ -221,10 +220,10 @@ static int read_frame(struct VpxDecInputContext *input, uint8_t **buf, ...@@ -221,10 +220,10 @@ static int read_frame(struct VpxDecInputContext *input, uint8_t **buf,
return webm_read_frame(input->webm_ctx, return webm_read_frame(input->webm_ctx,
buf, bytes_in_buffer, buffer_size); buf, bytes_in_buffer, buffer_size);
case FILE_TYPE_RAW: 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); buf, bytes_in_buffer, buffer_size);
case FILE_TYPE_IVF: 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); buf, bytes_in_buffer, buffer_size);
default: default:
return 1; return 1;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment