FFmpeg
utvideo.c
Go to the documentation of this file.
1 /*
2  * Common Ut Video code
3  * Copyright (c) 2011 Konstantin Shishkov
4  *
5  * This file is part of FFmpeg.
6  *
7  * FFmpeg is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * FFmpeg is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with FFmpeg; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21 
22 /**
23  * @file
24  * Common Ut Video code
25  */
26 
27 #include "utvideo.h"
28 
29 #if FF_API_PRIVATE_OPT
30 const int ff_ut_pred_order[5] = {
32 };
33 #endif
34 
35 const int ff_ut_rgb_order[4] = { 1, 2, 0, 3 }; // G, B, R, A
36 
37 int ff_ut_huff_cmp_len(const void *a, const void *b)
38 {
39  const HuffEntry *aa = a, *bb = b;
40  return (aa->len - bb->len)*256 + aa->sym - bb->sym;
41 }
42 
43 int ff_ut10_huff_cmp_len(const void *a, const void *b)
44 {
45  const HuffEntry *aa = a, *bb = b;
46  return (aa->len - bb->len)*1024 + aa->sym - bb->sym;
47 }
utvideo.h
HuffEntry::len
uint8_t len
Definition: magicyuv.c:49
b
#define b
Definition: input.c:41
HuffEntry::sym
uint16_t sym
Definition: magicyuv.c:48
ff_ut_pred_order
const int ff_ut_pred_order[5]
Definition: utvideo.c:30
ff_ut_rgb_order
const int ff_ut_rgb_order[4]
Definition: utvideo.c:35
a
The reader does not expect b to be semantically here and if the code is changed by maybe adding a a division or other the signedness will almost certainly be mistaken To avoid this confusion a new type was SUINT is the C unsigned type but it holds a signed int to use the same example SUINT a
Definition: undefined.txt:41
ff_ut_huff_cmp_len
int ff_ut_huff_cmp_len(const void *a, const void *b)
Definition: utvideo.c:37
PRED_MEDIAN
@ PRED_MEDIAN
Definition: utvideo.h:41
PRED_GRADIENT
@ PRED_GRADIENT
Definition: utvideo.h:40
PRED_NONE
@ PRED_NONE
Definition: utvideo.h:38
HuffEntry
Definition: magicyuv.c:47
ff_ut10_huff_cmp_len
int ff_ut10_huff_cmp_len(const void *a, const void *b)
Definition: utvideo.c:43
PRED_LEFT
@ PRED_LEFT
Definition: utvideo.h:39