From: Jingning Han Date: Sat, 18 May 2013 23:56:12 +0000 (-0700) Subject: Give VP9 a different sync code from VP8 X-Git-Tag: v1.3.0~1104^2~169 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2c93a8ed5c840a69e58a52f60e7b6194b5919cf5;p=platform%2Fupstream%2Flibvpx.git Give VP9 a different sync code from VP8 The new code is 0x49, 0x83, 0x42 There is nothing particularly special about this code bitstream wise. Its derivation is the word "sync" coded using 4x6bit alphabetic indices. Change-Id: Ie2430a854af32ddc5a5c25a6c1c90cf6497ba647 --- diff --git a/vp9/decoder/vp9_decodframe.c b/vp9/decoder/vp9_decodframe.c index b200e6c..01ab1f9 100644 --- a/vp9/decoder/vp9_decodframe.c +++ b/vp9/decoder/vp9_decodframe.c @@ -959,7 +959,7 @@ int vp9_decode_frame(VP9D_COMP *pbi, const uint8_t **p_data_end) { // When error concealment is enabled we should only check the sync // code if we have enough bits available if (data + 3 < data_end) { - if (data[0] != 0x9d || data[1] != 0x01 || data[2] != 0x2a) + if (data[0] != 0x49 || data[1] != 0x83 || data[2] != 0x42) vpx_internal_error(&pc->error, VPX_CODEC_UNSUP_BITSTREAM, "Invalid frame sync code"); } diff --git a/vp9/encoder/vp9_bitstream.c b/vp9/encoder/vp9_bitstream.c index bcec13c..d20a2c5 100644 --- a/vp9/encoder/vp9_bitstream.c +++ b/vp9/encoder/vp9_bitstream.c @@ -1506,9 +1506,9 @@ void vp9_pack_bitstream(VP9_COMP *cpi, uint8_t *dest, unsigned long *size) { */ if (oh.type == KEY_FRAME) { // Start / synch code - cx_data[0] = 0x9D; - cx_data[1] = 0x01; - cx_data[2] = 0x2a; + cx_data[0] = 0x49; + cx_data[1] = 0x83; + cx_data[2] = 0x42; extra_bytes_packed = 3; cx_data += extra_bytes_packed; } diff --git a/vp9/vp9_dx_iface.c b/vp9/vp9_dx_iface.c index 811cea7..ee11304 100644 --- a/vp9/vp9_dx_iface.c +++ b/vp9/vp9_dx_iface.c @@ -217,7 +217,7 @@ static vpx_codec_err_t vp8_peek_si(const uint8_t *data, else { /* Parse uncompresssed part of key frame header. * 3 bytes:- including version, frame type and an offset - * 3 bytes:- sync code (0x9d, 0x01, 0x2a) + * 3 bytes:- sync code (0x49, 0x83, 0x42) * 4 bytes:- including image width and height in the lowest 14 bits * of each 2-byte value. */ @@ -228,7 +228,7 @@ static vpx_codec_err_t vp8_peek_si(const uint8_t *data, si->is_kf = 1; /* vet via sync code */ - if (c[0] != 0x9d || c[1] != 0x01 || c[2] != 0x2a) + if (c[0] != 0x49 || c[1] != 0x83 || c[2] != 0x42) res = VPX_CODEC_UNSUP_BITSTREAM; si->w = (c[3] | (c[4] << 8));