[vlc-devel] [PATCH v2 2/3] modules: use vlc_align helper
Marvin Scholz
epirat07 at gmail.com
Tue Mar 24 10:03:15 CET 2020
On 24 Mar 2020, at 10:02, Alexandre Janniaux wrote:
> Hi,
>
> Just to be in sync between ML and private discussion, like
> Thomas mentioned, you can probably split in multiple commits
> before merging. It's ok for review though.
>
Sure, will split into one commit per module before merge
if this patchset is accepted.
> Regards,
> --
> Alexandre Janniaux
> Videolabs
>
> On Mon, Mar 23, 2020 at 11:16:44PM +0100, Marvin Scholz wrote:
>> ---
>> modules/audio_filter/converter/tospdif.c | 5 ++---
>> modules/codec/avcodec/directx_va.c | 6 +++---
>> modules/codec/qsv.c | 9 +++------
>> modules/hw/nvdec/nvdec.c | 5 ++---
>> modules/video_output/kms.c | 19 ++++++++-----------
>> modules/video_output/opengl/interop_sw.c | 4 +---
>> 6 files changed, 19 insertions(+), 29 deletions(-)
>>
>> diff --git a/modules/audio_filter/converter/tospdif.c
>> b/modules/audio_filter/converter/tospdif.c
>> index 239deae26f..1029e911a8 100644
>> --- a/modules/audio_filter/converter/tospdif.c
>> +++ b/modules/audio_filter/converter/tospdif.c
>> @@ -519,9 +519,8 @@ static int write_buffer_dtshd( filter_t
>> *p_filter, block_t *p_in_buf )
>>
>> /* Align so that (length_code & 0xf) == 0x8. This is reportedly
>> needed
>> * with some receivers, but the exact requirement is
>> unconfirmed. */
>> -#define ALIGN(x, y) (((x) + ((y) - 1)) & ~((y) - 1))
>> - size_t i_align = ALIGN( i_in_size + 0x8, 0x10 ) - 0x8;
>> -#undef ALIGN
>> + size_t i_align = vlc_align( i_in_size + 0x8, 0x10 ) - 0x8;
>> +
>> if( i_align > i_in_size && i_align - i_in_size
>> <= p_sys->p_out_buf->i_buffer - p_sys->i_out_offset )
>> write_padding( p_filter, i_align - i_in_size );
>> diff --git a/modules/codec/avcodec/directx_va.c
>> b/modules/codec/avcodec/directx_va.c
>> index 5f5da23b7f..0b5ff68a04 100644
>> --- a/modules/codec/avcodec/directx_va.c
>> +++ b/modules/codec/avcodec/directx_va.c
>> @@ -348,9 +348,9 @@ const directx_va_mode_t
>> *directx_va_Setup(vlc_va_t *va, const directx_sys_t *dx_
>> return NULL;
>>
>> assert((surface_alignment & (surface_alignment - 1)) == 0); /*
>> power of 2 */
>> -#define ALIGN(x, y) (((x) + ((y) - 1)) & ~((y) - 1))
>> - int surface_width = ALIGN(avctx->coded_width,
>> surface_alignment);
>> - int surface_height = ALIGN(avctx->coded_height,
>> surface_alignment);
>> +
>> + int surface_width = vlc_align(avctx->coded_width,
>> surface_alignment);
>> + int surface_height = vlc_align(avctx->coded_height,
>> surface_alignment);
>>
>> if (avctx->coded_width != surface_width || avctx->coded_height
>> != surface_height)
>> msg_Warn( va, "surface dimensions (%dx%d) differ from
>> avcodec dimensions (%dx%d)",
>> diff --git a/modules/codec/qsv.c b/modules/codec/qsv.c
>> index b9e69bb322..8571b499dc 100644
>> --- a/modules/codec/qsv.c
>> +++ b/modules/codec/qsv.c
>> @@ -49,9 +49,6 @@
>> /* The SDK doesn't have a default bitrate, so here's one. */
>> #define QSV_BITRATE_DEFAULT (842)
>>
>> -/* Makes x a multiple of 'align'. 'align' must be a power of 2 */
>> -#define QSV_ALIGN(align, x) (((x)+(align)-1)&~((align)-1))
>> -
>> /*****************************************************************************
>> * Modules descriptor
>> *****************************************************************************/
>> @@ -459,8 +456,8 @@ static int Open(vlc_object_t *this)
>> sys->params.mfx.FrameInfo.FrameRateExtD =
>> enc->fmt_in.video.i_frame_rate_base;
>> sys->params.mfx.FrameInfo.FourCC = MFX_FOURCC_NV12;
>> sys->params.mfx.FrameInfo.ChromaFormat =
>> MFX_CHROMAFORMAT_YUV420;
>> - sys->params.mfx.FrameInfo.Width = QSV_ALIGN(16,
>> enc->fmt_in.video.i_width);
>> - sys->params.mfx.FrameInfo.Height = QSV_ALIGN(32,
>> enc->fmt_in.video.i_height);
>> + sys->params.mfx.FrameInfo.Width =
>> vlc_align(enc->fmt_in.video.i_width, 16);
>> + sys->params.mfx.FrameInfo.Height =
>> vlc_align(enc->fmt_in.video.i_height, 32);
>> sys->params.mfx.FrameInfo.CropW =
>> enc->fmt_in.video.i_visible_width;
>> sys->params.mfx.FrameInfo.CropH =
>> enc->fmt_in.video.i_visible_height;
>> sys->params.mfx.FrameInfo.PicStruct =
>> MFX_PICSTRUCT_PROGRESSIVE;
>> @@ -762,7 +759,7 @@ static int submit_frame(encoder_t *enc, picture_t
>> *pic, QSVFrame **new_frame)
>> else
>> qf->surface.Info.PicStruct = MFX_PICSTRUCT_FIELD_BFF;
>>
>> - //qf->surface.Data.Pitch = QSV_ALIGN(16,
>> qf->surface.Info.Width);
>> + //qf->surface.Data.Pitch = vlc_align(qf->surface.Info.Width,
>> 16);
>>
>> qf->surface.Data.PitchLow = qf->pic->p[0].i_pitch;
>> qf->surface.Data.Y = qf->pic->p[0].p_pixels;
>> diff --git a/modules/hw/nvdec/nvdec.c b/modules/hw/nvdec/nvdec.c
>> index 321815071d..8285bf5ffe 100644
>> --- a/modules/hw/nvdec/nvdec.c
>> +++ b/modules/hw/nvdec/nvdec.c
>> @@ -803,7 +803,6 @@ static int OpenDecoder(vlc_object_t *p_this)
>> int i_sar_num, i_sar_den = 0;
>>
>> // try different output
>> -#define ALIGN(v, mod) ((v + (mod - 1)) & ~(mod - 1))
>> if (p_sys->b_is_hxxx)
>> {
>> uint8_t i_chroma_idc, i_depth_chroma;
>> @@ -840,7 +839,7 @@ static int OpenDecoder(vlc_object_t *p_this)
>> }
>> }
>>
>> - p_dec->fmt_out.video.i_width = ALIGN(i_w,
>> OUTPUT_WIDTH_ALIGN);
>> + p_dec->fmt_out.video.i_width = vlc_align(i_w,
>> OUTPUT_WIDTH_ALIGN);
>> p_dec->fmt_out.video.i_height = i_h;
>>
>> if (!p_dec->fmt_in.video.i_visible_width ||
>> !p_dec->fmt_in.video.i_visible_height)
>> @@ -857,7 +856,7 @@ static int OpenDecoder(vlc_object_t *p_this)
>> }
>> else
>> {
>> - p_dec->fmt_out.video.i_width =
>> ALIGN(p_dec->fmt_in.video.i_width, OUTPUT_WIDTH_ALIGN);
>> + p_dec->fmt_out.video.i_width =
>> vlc_align(p_dec->fmt_in.video.i_width, OUTPUT_WIDTH_ALIGN);
>> p_dec->fmt_out.video.i_height =
>> p_dec->fmt_in.video.i_height;
>> cudaChroma = cudaVideoChromaFormat_420;
>> i_depth_luma = 8;
>> diff --git a/modules/video_output/kms.c b/modules/video_output/kms.c
>> index 34ef0b0df5..be4a666978 100644
>> --- a/modules/video_output/kms.c
>> +++ b/modules/video_output/kms.c
>> @@ -115,9 +115,6 @@ static void DestroyFB(vout_display_sys_t const
>> *sys, uint32_t const buf)
>> drmIoctl(sys->drm_fd, DRM_IOCTL_MODE_DESTROY_DUMB,
>> &destroy_req);
>> }
>>
>> -
>> -#define ALIGN(v, a) (((v) + (a)-1) & ~((a)-1))
>> -
>> static deviceRval CreateFB(vout_display_t *vd, const int buf)
>> {
>> vout_display_sys_t *sys = vd->sys;
>> @@ -143,23 +140,23 @@ static deviceRval CreateFB(vout_display_t *vd,
>> const int buf)
>> case DRM_FORMAT_P016:
>> #endif
>> #if defined(DRM_FORMAT_P010) || defined(DRM_FORMAT_P012) ||
>> defined(DRM_FORMAT_P016)
>> - sys->stride = ALIGN(sys->width*2, tile_width);
>> - sys->offsets[1] = sys->stride*ALIGN(sys->height,
>> tile_height);
>> - create_req.height = 2*ALIGN(sys->height, tile_height);
>> + sys->stride = vlc_align(sys->width*2, tile_width);
>> + sys->offsets[1] = sys->stride*vlc_align(sys->height,
>> tile_height);
>> + create_req.height = 2*vlc_align(sys->height, tile_height);
>> break;
>> #endif
>> case DRM_FORMAT_NV12:
>> - sys->stride = ALIGN(sys->width, tile_width);
>> - sys->offsets[1] = sys->stride*ALIGN(sys->height,
>> tile_height);
>> - create_req.height = 2*ALIGN(sys->height, tile_height);
>> + sys->stride = vlc_align(sys->width, tile_width);
>> + sys->offsets[1] = sys->stride*vlc_align(sys->height,
>> tile_height);
>> + create_req.height = 2*vlc_align(sys->height, tile_height);
>> break;
>> default:
>> - create_req.height = ALIGN(sys->height, tile_height);
>> + create_req.height = vlc_align(sys->height, tile_height);
>>
>> /*
>> * width *4 so there's enough space for anything.
>> */
>> - sys->stride = ALIGN(sys->width*4, tile_width);
>> + sys->stride = vlc_align(sys->width*4, tile_width);
>> break;
>> }
>>
>> diff --git a/modules/video_output/opengl/interop_sw.c
>> b/modules/video_output/opengl/interop_sw.c
>> index b872f511eb..a553f4f2b4 100644
>> --- a/modules/video_output/opengl/interop_sw.c
>> +++ b/modules/video_output/opengl/interop_sw.c
>> @@ -220,9 +220,7 @@ upload_plane(const struct vlc_gl_interop
>> *interop, unsigned tex_idx,
>> {
>> if (pitch != visible_pitch)
>> {
>> -#define ALIGN(x, y) (((x) + ((y) - 1)) & ~((y) - 1))
>> - visible_pitch = ALIGN(visible_pitch, 4);
>> -#undef ALIGN
>> + visible_pitch = vlc_align(visible_pitch, 4);
>> size_t buf_size = visible_pitch * height;
>> const uint8_t *source = pixels;
>> uint8_t *destination;
>> --
>> 2.21.1 (Apple Git-122.3)
>>
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list