vlc | branch: master | Francois Cartegnie <[email protected]> | Wed Oct 5 19:43:43 2016 +0200| [99c89d03428b724b84ec26b92cf08ab6124dc6e9] | committer: Francois Cartegnie
packetizer: hxxx: add raw SEI parser > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=99c89d03428b724b84ec26b92cf08ab6124dc6e9 --- modules/packetizer/hxxx_sei.c | 16 ++++++++++------ modules/packetizer/hxxx_sei.h | 1 + 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/modules/packetizer/hxxx_sei.c b/modules/packetizer/hxxx_sei.c index 10b4d58..8161448 100644 --- a/modules/packetizer/hxxx_sei.c +++ b/modules/packetizer/hxxx_sei.c @@ -28,19 +28,23 @@ #include "hxxx_sei.h" #include "hxxx_nal.h" -void HxxxParseSEI(decoder_t *p_dec, const uint8_t *p_buffer, size_t i_buffer, +void HxxxParse_AnnexB_SEI(decoder_t *p_dec, const uint8_t *p_buf, size_t i_buf, + uint8_t i_header, pf_hxxx_sei_callback cb) +{ + if( hxxx_strip_AnnexB_startcode( &p_buf, &i_buf ) ) + HxxxParseSEI(p_dec, p_buf, i_buf, i_header, cb); +} + +void HxxxParseSEI(decoder_t *p_dec, const uint8_t *p_buf, size_t i_buf, uint8_t i_header, pf_hxxx_sei_callback pf_callback) { bs_t s; unsigned i_bitflow = 0; - const uint8_t *p_stripped = p_buffer; - size_t i_stripped = i_buffer; - - if( !hxxx_strip_AnnexB_startcode( &p_stripped, &i_stripped ) || i_stripped < 2 ) + if( i_buf < 2 ) return; - bs_init( &s, p_stripped, i_stripped ); + bs_init( &s, p_buf, i_buf ); s.p_fwpriv = &i_bitflow; s.pf_forward = hxxx_bsfw_ep3b_to_rbsp; /* Does the emulated 3bytes conversion to rbsp */ diff --git a/modules/packetizer/hxxx_sei.h b/modules/packetizer/hxxx_sei.h index 3495a69..b0bf2bb 100644 --- a/modules/packetizer/hxxx_sei.h +++ b/modules/packetizer/hxxx_sei.h @@ -48,5 +48,6 @@ typedef struct typedef void (*pf_hxxx_sei_callback)(decoder_t *, const hxxx_sei_data_t *); void HxxxParseSEI(decoder_t *, const uint8_t *, size_t, uint8_t, pf_hxxx_sei_callback); +void HxxxParse_AnnexB_SEI(decoder_t *, const uint8_t *, size_t, uint8_t, pf_hxxx_sei_callback); #endif _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
