• Почему шкала ТВЛ не линейна?

    Ocelot
    @Ocelot
    Ширина клина меняется линейно. А разрешение - это число линий, делённое на ширину. Первое - константа (клин по всей длине состоит из одного и того же числа линий), а значит шкала твл задана функцией 1/x, отсюда и нелинейность
    Ответ написан
    4 комментария
  • Почему ffmpeg искажает картинку при кодировании?

    ValdikSS
    @ValdikSS
    Картинке не хватает цветового разрешения DVD (4:2:0), чтобы корректно закодировать изображение.
    https://ru.wikipedia.org/wiki/Цветовая_субдискретизация

    В случае под цифрой 2 пиксели с цветовым переходом попадают в «центр» цветового блока, а в случае под цифрой 1 просто не хватает разрешения.

    как с этой бедой бороться
    Нужно либо применить цветовую субдискретизацию с более высоким разрешением (4:2:2, например, но оно поможет только при вертикальном расположении пикселей), либо отключить её. Если речь о бытовых DVD-плеерах, то никак — стандарт DVD предусматривает только профиль 4:2:0, насколько мне известно.
    Ответ написан
    5 комментариев
  • Как парсить и выводить JSON в HTML с помощью JavaScript?

    @dimentimor
    Например:
    var data = {
    	name: 'Jack',
    	items: {
    		dog: 1,
    		car: 1,
    		phone: 2,
    	},
    };
    
    // объект в json
    var json = JSON.stringify(data); // {"name":"Jack","items":{"dog":1,"car":1,"phone":2}}
    
    // json в объект
    var obj = JSON.parse(json); // объект


    Когда получаем json- преобразуем его в объект, а дальше уже в зависимости от структуры данных
    var data = JSON.parse('{"name":"Jack","items":{"dog":1,"car":1,"phone":2}}');
    
    var header = '<h2>My name is ' + data.name + '</h2>';
    var list = '';
    
    for (var i in data.items) {
    	list += '<li>' + i + ': ' + data.items[i] + ' шт. </li>';
    }
    
    document.getElementById('div').innerHTML += header;
    document.getElementById('div').innerHTML += '<ul>' + list + '</ul>';
    
    // Конечно, лучше создавать элементы через
    // var div = document.createElement('div');
    // наполнять через div.innerHTML = "text";
    // и добавлять их через element.appendChild(div);

    1978d2a5f51544268810b11dc1357ee7.jpg
    Ответ написан
    Комментировать