vlc | branch: master | Francois Cartegnie <[email protected]> | Wed Dec 23 12:12:33 2015 +0100| [1d9cfa88e4505b442c8e4d361e9d83a45e37a7a4] | committer: Francois Cartegnie
packetizer: h264: optmize sps/pps blocks chaining > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1d9cfa88e4505b442c8e4d361e9d83a45e37a7a4 --- modules/packetizer/h264.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/modules/packetizer/h264.c b/modules/packetizer/h264.c index 88e30d7..9c9a2ee 100644 --- a/modules/packetizer/h264.c +++ b/modules/packetizer/h264.c @@ -595,23 +595,22 @@ static block_t *OutputPicture( decoder_t *p_dec ) } block_t *p_list = NULL; + block_t **pp_list_tail = &p_list; for( int i = 0; i < H264_SPS_MAX && (b_sps_pps_i || p_sys->b_frame_sps); i++ ) { if( p_sys->pp_sps[i] ) - block_ChainAppend( &p_list, block_Duplicate( p_sys->pp_sps[i] ) ); + block_ChainLastAppend( &pp_list_tail, block_Duplicate( p_sys->pp_sps[i] ) ); } for( int i = 0; i < H264_PPS_MAX && (b_sps_pps_i || p_sys->b_frame_pps); i++ ) { if( p_sys->pp_pps[i] ) - block_ChainAppend( &p_list, block_Duplicate( p_sys->pp_pps[i] ) ); + block_ChainLastAppend( &pp_list_tail, block_Duplicate( p_sys->pp_pps[i] ) ); } if( b_sps_pps_i && p_list ) p_sys->b_header = true; - if( p_head ) - p_head->p_next = p_list; - else - p_head = p_list; + if( p_list ) + block_ChainAppend( &p_head, p_list ); if( p_sys->p_frame ) block_ChainAppend( &p_head, p_sys->p_frame ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
