aboutsummaryrefslogtreecommitdiff
path: root/Src/h264dec/lcommon/inc/mb_access.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/h264dec/lcommon/inc/mb_access.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/h264dec/lcommon/inc/mb_access.h')
-rw-r--r--Src/h264dec/lcommon/inc/mb_access.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/Src/h264dec/lcommon/inc/mb_access.h b/Src/h264dec/lcommon/inc/mb_access.h
new file mode 100644
index 00000000..0bad3bca
--- /dev/null
+++ b/Src/h264dec/lcommon/inc/mb_access.h
@@ -0,0 +1,70 @@
+
+/*!
+ *************************************************************************************
+ * \file mb_access.h
+ *
+ * \brief
+ * Functions for macroblock neighborhoods
+ *
+ * \author
+ * Main contributors (see contributors.h for copyright, address and affiliation details)
+ * - Karsten Sühring <suehring@hhi.de>
+ * - Alexis Michael Tourapis <alexismt@ieee.org>
+ *************************************************************************************
+ */
+
+#ifndef _MB_ACCESS_H_
+#define _MB_ACCESS_H_
+
+extern void CheckAvailabilityOfNeighbors(Macroblock *currMB);
+
+/* MB Aff */
+extern void getAffNeighbour (const Macroblock *currMB, int xN, int yN, const int mb_size[2], PixelPos *pix);
+extern void getAffNeighbourLuma (const Macroblock *currMB, int xN, int yN, PixelPos *pix);
+extern void getAffNeighbourXPLuma (const Macroblock *currMB, int xN, int yN, PixelPos *pix);
+extern void getAffNeighbourPPLumaNB (const Macroblock *currMB, int xN, int yN, PixelPos *pix);
+extern void getAffNeighbourNPLuma (const Macroblock *currMB, int yN, PixelPos *pix);
+extern void getAffNeighbourN0Luma (const Macroblock *currMB, PixelPos *pix);
+extern void getAffNeighbourNXLuma (const Macroblock *currMB, int xN, PixelPos *pix);
+extern void getAffNeighbour0X (const Macroblock *currMB, int yN, const int mb_size[2], PixelPos *pix);
+extern void getAffNeighbour0XLuma (const Macroblock *currMB, int yN, PixelPos *pix);
+extern void getAffNeighbour0N (const Macroblock *currMB, const int mb_size[2], PixelPos *pix);
+extern void getAffNeighbourX0 (const Macroblock *currMB, int xN, const int mb_size[2], PixelPos *pix);
+extern void getAffNeighbourNX (const Macroblock *currMB, int yN, const int mb_size[2], PixelPos *pix);
+extern void getAffNeighbourN0 (const Macroblock *currMB, const int mb_size[2], PixelPos *pix);
+extern void getAffNeighbour0NLuma (const Macroblock *currMB, PixelPos *pix);
+extern void getAffNeighbourPXLumaNB(const Macroblock *currMB, int xN, int yN, PixelPos *pix);
+extern void getAffNeighbourPXLumaNB_NoPos(const Macroblock *currMB, int yN, PixelPos *pix);
+/* normal */
+extern void getNonAffNeighbour (const Macroblock *currMB, int xN, int yN, const int mb_size[2], PixelPos *pix);
+extern void getNonAffNeighbourXP_NoPos(const Macroblock *currMB, int xN, int yN, const int mb_size[2], PixelPos *pix);
+extern void getNonAffNeighbourPX_NoPos(const Macroblock *currMB, int xN, int yN, const int mb_size[2], PixelPos *pix);
+extern void getNonAffNeighbourLuma (const Macroblock *currMB, int xN, int yN, PixelPos *pix);
+extern void getNonAffNeighbourXPLuma(const Macroblock *currMB, int xN, int yN, PixelPos *pix);
+extern void getNonAffNeighbourPXLuma(const Macroblock *currMB, int xN, int yN, PixelPos *pix);
+extern void getNonAffNeighbourN0Luma(const Macroblock *currMB, PixelPos *pix);
+extern void getNonAffNeighbourNXLuma(const Macroblock *currMB, int yN, PixelPos *pix);
+extern void getNonAffNeighbourN0 (const Macroblock *currMB, const int mb_size[2], PixelPos *pix);
+extern void getNonAffNeighbour0N (const Macroblock *currMB, const int mb_size[2], PixelPos *pix);
+extern void getNonAffNeighbourNX (const Macroblock *currMB, int yN, const int mb_size[2], PixelPos *pix);
+extern void getNonAffNeighbourNP (const Macroblock *currMB, int yN, const int mb_size[2], PixelPos *pix);
+extern void getNonAffNeighbourNPChromaNB(const Macroblock *currMB, int yN, const int mb_size[2], PixelPos *pix);
+extern void getNonAffNeighbour0X (const Macroblock *currMB, int yN, const int mb_size[2], PixelPos *pix);
+extern void getNonAffNeighbour0XLuma(const Macroblock *currMB, int yN, PixelPos *pix);
+extern void getNonAffNeighbourX0 (const Macroblock *currMB, int xN, const int mb_size[2], PixelPos *pix);
+extern void getNonAffNeighbour0NLuma(const Macroblock *currMB, PixelPos *pix);
+extern void getNonAffNeighbourNPLumaNB(const Macroblock *currMB, int yN, PixelPos *pix);
+extern void getNonAffNeighbourXPLumaNB(const Macroblock *currMB, int xN, int yN, PixelPos *pix);
+extern void getNonAffNeighbourPPLumaNB(const Macroblock *currMB, int xN, int yN, PixelPos *pix);
+extern void getNonAffNeighbourXPLumaNB_NoPos(const Macroblock *currMB, int xN, int yN, PixelPos *pix);
+extern void getNonAffNeighbourPXLumaNB(const Macroblock *currMB, int xN, int yN, PixelPos *pix);
+extern void getNonAffNeighbourPXLumaNB_NoPos(const Macroblock *currMB, int yN, PixelPos *pix);
+extern void get4x4Neighbour (const Macroblock *currMB, int xN, int yN, const int mb_size[2], PixelPos *pix);
+extern void get4x4NeighbourLuma (const Macroblock *currMB, int block_x, int block_y, PixelPos *pix);
+extern Boolean mb_is_available (int mbAddr, const Macroblock *currMB);
+extern void get_mb_pos (VideoParameters *p_Vid, int mb_addr, const int mb_size[2], short *x, short *y);
+extern void get_mb_block_pos_normal (const h264_pic_position *PicPos, int mb_addr, short *x, short *y);
+extern void get_mb_block_pos_mbaff (const h264_pic_position *PicPos, int mb_addr, short *x, short *y);
+
+
+#endif