opj_t2_encode_packet(): disable setting empty packet header bit to 1 when there is an empty packet
This effectively reverts commit 2609fb8077
since it has been reported that
such packets cause decoding issues with cinema J2K hardware
decoders: https://groups.google.com/forum/#!topic/openjpeg/M7M_fLX_Bco
This commit is contained in:
parent
bdcead70d5
commit
07d526e4cb
|
@ -667,7 +667,11 @@ static OPJ_BOOL opj_t2_encode_packet(OPJ_UINT32 tileno,
|
||||||
opj_tcd_resolution_t *res = &tilec->resolutions[resno];
|
opj_tcd_resolution_t *res = &tilec->resolutions[resno];
|
||||||
|
|
||||||
opj_bio_t *bio = 00; /* BIO component */
|
opj_bio_t *bio = 00; /* BIO component */
|
||||||
|
#ifdef ENABLE_EMPTY_PACKET_OPTIMIZATION
|
||||||
OPJ_BOOL packet_empty = OPJ_TRUE;
|
OPJ_BOOL packet_empty = OPJ_TRUE;
|
||||||
|
#else
|
||||||
|
OPJ_BOOL packet_empty = OPJ_FALSE;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* <SOP 0xff91> */
|
/* <SOP 0xff91> */
|
||||||
if (tcp->csty & J2K_CP_CSTY_SOP) {
|
if (tcp->csty & J2K_CP_CSTY_SOP) {
|
||||||
|
@ -728,6 +732,11 @@ static OPJ_BOOL opj_t2_encode_packet(OPJ_UINT32 tileno,
|
||||||
}
|
}
|
||||||
opj_bio_init_enc(bio, c, length);
|
opj_bio_init_enc(bio, c, length);
|
||||||
|
|
||||||
|
#ifdef ENABLE_EMPTY_PACKET_OPTIMIZATION
|
||||||
|
/* WARNING: this code branch is disabled, since it has been reported that */
|
||||||
|
/* such packets cause decoding issues with cinema J2K hardware */
|
||||||
|
/* decoders: https://groups.google.com/forum/#!topic/openjpeg/M7M_fLX_Bco */
|
||||||
|
|
||||||
/* Check if the packet is empty */
|
/* Check if the packet is empty */
|
||||||
/* Note: we could also skip that step and always write a packet header */
|
/* Note: we could also skip that step and always write a packet header */
|
||||||
band = res->bands;
|
band = res->bands;
|
||||||
|
@ -755,10 +764,9 @@ static OPJ_BOOL opj_t2_encode_packet(OPJ_UINT32 tileno,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
opj_bio_write(bio, packet_empty ? 0 : 1, 1); /* Empty header bit */
|
opj_bio_write(bio, packet_empty ? 0 : 1, 1); /* Empty header bit */
|
||||||
|
|
||||||
|
|
||||||
/* Writing Packet header */
|
/* Writing Packet header */
|
||||||
band = res->bands;
|
band = res->bands;
|
||||||
for (bandno = 0; !packet_empty &&
|
for (bandno = 0; !packet_empty &&
|
||||||
|
|
Loading…
Reference in New Issue