7c43fb67ae
This patch fixes bug 633: https://code.google.com/p/webm/issues/detail?id=633 The first decoded frame does not have to be a keyframe, it could be an inter-frame that is coded intra-only. This patch fixes the handling of intra-only frames. A test vector has also been added that encodes 3 intra-only frames at the start of the clip. The test vector was generated using the code in the following patch: https://gerrit.chromium.org/gerrit/#/c/70680/ Change-Id: Ib40b1dbf91aae2bc047e23c626eaef09d1860147
38 lines
1.0 KiB
C
38 lines
1.0 KiB
C
/*
|
|
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
|
|
#ifndef VP9_DECODER_VP9_DECODEFRAME_H_
|
|
#define VP9_DECODER_VP9_DECODEFRAME_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct VP9Common;
|
|
struct VP9Decoder;
|
|
struct vp9_read_bit_buffer;
|
|
|
|
void vp9_init_dequantizer(struct VP9Common *cm);
|
|
|
|
void vp9_decode_frame(struct VP9Decoder *pbi,
|
|
const uint8_t *data, const uint8_t *data_end,
|
|
const uint8_t **p_data_end);
|
|
|
|
int vp9_read_sync_code(struct vp9_read_bit_buffer *const rb);
|
|
void vp9_read_frame_size(struct vp9_read_bit_buffer *rb,
|
|
int *width, int *height);
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|
|
|
|
#endif // VP9_DECODER_VP9_DECODEFRAME_H_
|