History

lavc/hevcdec: move HEVCContext.deblock to HEVCLayerContext

Anton Khirnov committed 2 years ago

Commit ed2d25e1 parent 3d4294e3 files · +10 −10Browse files

Unified · Split

3 files
  1. libavcodec/hevc/filter.c +4 −4
  2. libavcodec/hevc/hevcdec.c +5 −5
  3. libavcodec/hevc/hevcdec.h +1 −1
libavcodec/hevc/filter.c+4−4
@@ -515,8 +515,8 @@ static void deblocking_filter_CTB(const HEVCContext *s, const HEVCLayerContext * · 514 unmodified lines
515 int ctb_size = 1 << log2_ctb_size;515 int ctb_size = 1 << log2_ctb_size;
516 int ctb = (x0 >> log2_ctb_size) +516 int ctb = (x0 >> log2_ctb_size) +
517 (y0 >> log2_ctb_size) * sps->ctb_width;517 (y0 >> log2_ctb_size) * sps->ctb_width;
518 int cur_tc_offset = s->deblock[ctb].tc_offset;518 int cur_tc_offset = l->deblock[ctb].tc_offset;
519 int cur_beta_offset = s->deblock[ctb].beta_offset;519 int cur_beta_offset = l->deblock[ctb].beta_offset;
520 int left_tc_offset, left_beta_offset;520 int left_tc_offset, left_beta_offset;
521 int tc_offset, beta_offset;521 int tc_offset, beta_offset;
522 int pcmf = (sps->pcm_enabled &&522 int pcmf = (sps->pcm_enabled &&
@@ -524,8 +524,8 @@ static void deblocking_filter_CTB(const HEVCContext *s, const HEVCLayerContext * · 1 unmodified line
524 pps->transquant_bypass_enable_flag;524 pps->transquant_bypass_enable_flag;
525 525
526 if (x0) {526 if (x0) {
527 left_tc_offset = s->deblock[ctb - 1].tc_offset;527 left_tc_offset = l->deblock[ctb - 1].tc_offset;
528 left_beta_offset = s->deblock[ctb - 1].beta_offset;528 left_beta_offset = l->deblock[ctb - 1].beta_offset;
529 } else {529 } else {
530 left_tc_offset = 0;530 left_tc_offset = 0;
531 left_beta_offset = 0;531 left_beta_offset = 0;
libavcodec/hevc/hevcdec.c+5−5
@@ -69,7 +69,7 @@ static const uint8_t hevc_pel_weight[65] = { [2] = 0, [4] = 1, [6] = 2, [8] = 3, · 68 unmodified lines
69static void pic_arrays_free(HEVCContext *s, HEVCLayerContext *l)69static void pic_arrays_free(HEVCContext *s, HEVCLayerContext *l)
70{70{
71 av_freep(&l->sao);71 av_freep(&l->sao);
72 av_freep(&s->deblock);72 av_freep(&l->deblock);
73 73
74 av_freep(&s->skip_flag);74 av_freep(&s->skip_flag);
75 av_freep(&s->tab_ct_depth);75 av_freep(&s->tab_ct_depth);
@@ -104,8 +104,8 @@ static int pic_arrays_init(HEVCContext *s, HEVCLayerContext *l, const HEVCSPS *s · 28 unmodified lines
104 l->bs_height = (height >> 2) + 1;104 l->bs_height = (height >> 2) + 1;
105 105
106 l->sao = av_calloc(ctb_count, sizeof(*l->sao));106 l->sao = av_calloc(ctb_count, sizeof(*l->sao));
107 s->deblock = av_calloc(ctb_count, sizeof(*s->deblock));107 l->deblock = av_calloc(ctb_count, sizeof(*l->deblock));
108 if (!l->sao || !s->deblock)108 if (!l->sao || !l->deblock)
109 goto fail;109 goto fail;
110 110
111 s->skip_flag = av_malloc_array(sps->min_cb_height, sps->min_cb_width);111 s->skip_flag = av_malloc_array(sps->min_cb_height, sps->min_cb_width);
@@ -2559,8 +2559,8 @@ static int hls_decode_entry(HEVCContext *s, GetBitContext *gb) · 2447 unmodified lines
2559 hls_sao_param(lc, l, pps, sps,2559 hls_sao_param(lc, l, pps, sps,
2560 x_ctb >> sps->log2_ctb_size, y_ctb >> sps->log2_ctb_size);2560 x_ctb >> sps->log2_ctb_size, y_ctb >> sps->log2_ctb_size);
2561 2561
2562 s->deblock[ctb_addr_rs].beta_offset = s->sh.beta_offset;2562 l->deblock[ctb_addr_rs].beta_offset = s->sh.beta_offset;
2563 s->deblock[ctb_addr_rs].tc_offset = s->sh.tc_offset;2563 l->deblock[ctb_addr_rs].tc_offset = s->sh.tc_offset;
2564 s->filter_slice_edges[ctb_addr_rs] = s->sh.slice_loop_filter_across_slices_enabled_flag;2564 s->filter_slice_edges[ctb_addr_rs] = s->sh.slice_loop_filter_across_slices_enabled_flag;
2565 2565
2566 more_data = hls_coding_quadtree(lc, l, pps, sps, x_ctb, y_ctb, sps->log2_ctb_size, 0);2566 more_data = hls_coding_quadtree(lc, l, pps, sps, x_ctb, y_ctb, sps->log2_ctb_size, 0);
libavcodec/hevc/hevcdec.h+1−1
@@ -445,6 +445,7 @@ typedef struct HEVCLayerContext { · 444 unmodified lines
445 int bs_height;445 int bs_height;
446 446
447 SAOParams *sao;447 SAOParams *sao;
448 DBParams *deblock;
448} HEVCLayerContext;449} HEVCLayerContext;
449 450
450typedef struct HEVCContext {451typedef struct HEVCContext {
@@ -478,7 +479,6 @@ typedef struct HEVCContext { · 27 unmodified lines
478 const HEVCVPS *vps; ///< RefStruct reference479 const HEVCVPS *vps; ///< RefStruct reference
479 const HEVCPPS *pps; ///< RefStruct reference480 const HEVCPPS *pps; ///< RefStruct reference
480 SliceHeader sh;481 SliceHeader sh;
481 DBParams *deblock;
482 enum HEVCNALUnitType nal_unit_type;482 enum HEVCNALUnitType nal_unit_type;
483 int temporal_id; ///< temporal_id_plus1 - 1483 int temporal_id; ///< temporal_id_plus1 - 1
484 HEVCFrame *cur_frame;484 HEVCFrame *cur_frame;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t