@ -1048,6 +1048,7 @@ static int hls_transform_tree(HEVCContext *s, int x0, int y0,
static int hls_pcm_sample ( HEVCContext * s , int x0 , int y0 , int log2_cb_size )
static int hls_pcm_sample ( HEVCContext * s , int x0 , int y0 , int log2_cb_size )
{
{
//TODO: non-4:2:0 support
//TODO: non-4:2:0 support
HEVCLocalContext * lc = s - > HEVClc ;
GetBitContext gb ;
GetBitContext gb ;
int cb_size = 1 < < log2_cb_size ;
int cb_size = 1 < < log2_cb_size ;
int stride0 = s - > frame - > linesize [ 0 ] ;
int stride0 = s - > frame - > linesize [ 0 ] ;
@ -1058,7 +1059,7 @@ static int hls_pcm_sample(HEVCContext *s, int x0, int y0, int log2_cb_size)
uint8_t * dst2 = & s - > frame - > data [ 2 ] [ ( y0 > > s - > sps - > vshift [ 2 ] ) * stride2 + ( ( x0 > > s - > sps - > hshift [ 2 ] ) < < s - > sps - > pixel_shift ) ] ;
uint8_t * dst2 = & s - > frame - > data [ 2 ] [ ( y0 > > s - > sps - > vshift [ 2 ] ) * stride2 + ( ( x0 > > s - > sps - > hshift [ 2 ] ) < < s - > sps - > pixel_shift ) ] ;
int length = cb_size * cb_size * s - > sps - > pcm . bit_depth + ( ( cb_size * cb_size ) > > 1 ) * s - > sps - > pcm . bit_depth_chroma ;
int length = cb_size * cb_size * s - > sps - > pcm . bit_depth + ( ( cb_size * cb_size ) > > 1 ) * s - > sps - > pcm . bit_depth_chroma ;
const uint8_t * pcm = skip_bytes ( & s - > HEVC lc- > cc , ( length + 7 ) > > 3 ) ;
const uint8_t * pcm = skip_bytes ( & lc - > cc , ( length + 7 ) > > 3 ) ;
int ret ;
int ret ;
if ( ! s - > sh . disable_deblocking_filter_flag )
if ( ! s - > sh . disable_deblocking_filter_flag )